使用 MySQLdb 訪問 MySQL 資料庫

你需要做的第一件事是使用 connect 方法建立與資料庫的連線。之後,你將需要一個將與該連線一起執行的遊標。

使用遊標的 execute 方法與資料庫互動,並且每隔一段時間使用連線物件的 commit 方法提交更改。

一切都完成後,不要忘記關閉游標和連線。

這是一個 Dbconnect 類,包含你需要的所有內容。

import MySQLdb

class Dbconnect(object):

    def __init__(self):

        self.dbconection = MySQLdb.connect(host='host_example',
                                           port=int('port_example'),
                                           user='user_example',
                                           passwd='pass_example',
                                           db='schema_example')
        self.dbcursor = self.dbconection.cursor()

    def commit_db(self):
        self.dbconection.commit()

    def close_db(self):
        self.dbcursor.close()
        self.dbconection.close()

與資料庫互動很簡單。建立物件後,只需使用 execute 方法。

db = Dbconnect()
db.dbcursor.execute('SELECT * FROM %s' % 'table_example')

如果要呼叫儲存過程,請使用以下語法。請注意,引數列表是可選的。

db = Dbconnect()
db.callproc('stored_procedure_name', [parameters] )

查詢完成後,你可以通過多種方式訪問​​結果。遊標物件是一個生成器,可以獲取所有結果或迴圈。

results = db.dbcursor.fetchall()
for individual_row in results:
    first_field = individual_row[0]

如果你想直接使用生成器迴圈:

for individual_row in db.dbcursor:
    first_field = individual_row[0]

如果要提交對資料庫的更改:

db.commit_db()

如果要關閉遊標和連線:

db.close_db()