1. 程式人生 > >Django 第八課 5.【數據庫的Connection、Cursor】

Django 第八課 5.【數據庫的Connection、Cursor】

() fix array 用戶 nbsp 多個數據庫 映射 csdn all

數據庫的Connection、Cursor兩大對象

Python 數據庫圖解流程

技術分享圖片

Connection、Cursor比喻

技術分享圖片

  1. 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表示還沒開始查詢或沒有查詢到數據。

      connection對象支持的方法

    • 技術分享圖片

  2. Cursor

    1. 常用方法:

      • close():關閉此遊標對象
      • fetchone():得到結果集的下一行
      • fetchmany([size = cursor.arraysize]):得到結果集的下幾行
      • fetchall():得到結果集中剩下的所有行
      • excute(sql[, args]):執行一個數據庫查詢或命令
      • excutemany(sql, args):執行多個數據庫查詢或命令

        技術分享圖片

        技術分享圖片

    2. 常用屬性:

      • connection:創建此遊標對象的數據庫連接
      • arraysize:使用fetchmany()方法一次取出多少條記錄,默認為1

Django 第八課 5.【數據庫的Connection、Cursor】