Python中MySQLdb的conne
- 2020 年 1 月 6 日
- 筆記
MySQLdb模組是python連接mysql資料庫的一個模組,在操作mysql資料庫是經常使用,在連接資料庫時connect是最常用的一種方法,這個方法有好多參數,總結了一下,主要有一下幾種:
connect()方法用於連接資料庫,返回一個資料庫連接對象。如果要連接一個位於www.gyyx.com伺服器上名為mysql的MySQL資料庫,連接串可以這樣寫:
db = MySQLdb.connect(host="www.gyyx.com",user="user",passwd="xxx",db="mysql" )
connect()的參數列表如下:
host,連接的資料庫伺服器主機名,默認為本地主機(localhost)。
user,連接資料庫的用戶名,默認為當前用戶。
passwd,連接密碼,沒有默認值。
db,連接的資料庫名,沒有默認值。
conv,將文字映射到Python類型的字典。默認為MySQLdb.converters.conversions
cursorclass,cursor()使用的種類,默認值為MySQLdb.cursors.Cursor。
compress,啟用協議壓縮功能。
named_pipe,在windows中,與一個命名管道相連接。
init_command,一旦連接建立,就為資料庫伺服器指定一條語句來運行。
read_default_file,使用指定的MySQL配置文件。
read_default_group,讀取的默認組。
unix_socket,在unix中,連接使用的套接字,默認使用TCP。
port,指定資料庫伺服器的連接埠,默認是3306。
連接對象的db.close()方法可關閉資料庫連接,並釋放相關資源。
連接對象的db.cursor([cursorClass])方法返回一個指針對象,用於訪問和操作資料庫中的數據。
連接對象的db.begin()方法用於開始一個事務,如果資料庫的AUTOCOMMIT已經開啟就關閉它,直到事務調用commit()和rollback()結束。
連接對象的db.commit()和db.rollback()方法分別表示事務提交和回退。
指針對象的cursor.close()方法關閉指針並釋放相關資源。
指針對象的cursor.execute(query[,parameters])方法執行資料庫查詢。
指針對象的cursor.fetchall()可取出指針結果集中的所有行,返回的結果集一個元組(tuples)。
指針對象的cursor.fetchmany([size=cursor.arraysize])從查詢結果集中取出多行,我們可利用可選的參數指定取出的行數。
指針對象的cursor.fetchone()從查詢結果集中返回下一行。
指針對象的cursor.arraysize屬性指定由cursor.fetchmany()方法返回行的數目,影響fetchall()的性能,默認值為1。
指針對象的cursor.rowcount屬性指出上次查詢或更新所發生行數。-1表示還沒開始查詢或沒有查詢到數據。
下面是一個連接mysql的例子:
def mysql_conn(): try: conn = MySQLdb.connect(host = '192.168.8.100',user = 'mysql',passwd = '123456',connect_timeout=10) cursor = conn.cursor() sql = "SELECT COUNT(1) FROM mysql.user" cursor.execute(sql) alldata = cursor.fetchall() count = alldata[0][0] cursor.close() conn.close() print count except Exception,e: print "Can not Connect to mysql server"