Python 數據庫圖解流程
Connection、Cursor比喻
Connection()的參數列表
- 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表示還沒開始查詢或沒有查詢到數據。
Cursor
常用方法:
- close():關閉此游標對象
- fetchone():得到結果集的下一行
- fetchmany([size = cursor.arraysize]):得到結果集的下幾行
- fetchall():得到結果集中剩下的所有行
- excute(sql[, args]):執行一個數據庫查詢或命令
- excutemany(sql, args):執行多個數據庫查詢或命令
常用屬性:
- connection:創建此游標對象的數據庫連接
- arraysize:使用fetchmany()方法一次取出多少條記錄,默認為1