使用 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()