1. 程式人生 > >數據庫的Connection、Cursor兩大對象

數據庫的Connection、Cursor兩大對象

查詢 llb 提交 文字 操作 back 數列 所有 read

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

數據庫的Connection、Cursor兩大對象