Python MySQL 常用類別方法簡介
本篇文章主要介紹 Python 操作 MySQL 的時候,常用的類別和方法,使用的套件是 mysql-connector-python
,分別介紹兩個類別 MySQLConnection
和 MySQLCursor
的方法
1 | pip install mysql-connector-python |
- MySQLConnection 類別
- MySQLConnection 關閉方法
- MySQLConnection 交易方法
- MySQLConnection 連線方法
- MySQLConnection cursor
- MySQLCursor 類別
- MySQLCursor 關閉方法
- MySQLCursor 執行方法
- MySQLCursor 獲取方法
MySQLConnection 類別
MySQLConnection 是用來管理應用程式和 MySQL 伺服器的連線,可以用來傳送 SQL commands、SQL statements 和讀取結果
MySQLConnection 關閉方法
MySQLConnection.close()
: 同步版本的 disconnect()
,通常使用此命令進行關閉MySQLConnection.disconnect()
: 傳送 QUIT
Command 且關閉 socketMySQLConnection.shutdown()
: 直接關閉 socket,不傳送 QUIT
Command
MySQLConnection 交易方法
交易 (Transaction): 用來處理數個 SQL statements,全部執行成功,或全部不執行,不會執行到一半造成資料異常MySQLConnection.commit()
: 傳送 COMMIT
statement 給 MySQL 伺服器,預設是不使用 autocommit,每次交易後要呼叫此方法MySQLConnection.rollback()
: 傳送 ROLLBACK
statement 給 MySQL 伺服器,回復當次交易改變的資料
MySQLConnection 連線方法
MySQLConnection.connect()
: 建立一個連線到 MySQL 伺服器,並開始一個 sessionMySQLConnection.is_connected()
: 使用 ping()
確認 MySQL 連線是否可用,不一樣的是此方法會回傳 bool,而非 raise exceptionMySQLConnection.ping()
: 確認 MySQL 連線是否可用,當連線不可用時會 raise exception,同時提供 reconnect 的屬性自動重新連線
MySQLConnection cursor
MySQLConnection.cursor()
: 回傳一個 MySQLCursor()
物件
MySQLCursor 類別
MySQLCursor 是一個用來執行 SQL statements 的類別,下列是繼承於 MySQLCursor
相關的子類別
MySQLCursorBuffered
MySQLCursorRaw
MySQLCursorBufferedRaw
MySQLCursorDict
MySQLCursorBufferedDict
MySQLCursorNamedTuple
MySQLCursorBufferedNamedTuple
MySQLCursorPrepared
MySQLCursor 關閉方法
MySQLCursor.close()
: 關閉當前 cursor,重新設定所有結果,確保沒有被原本的 MySQLConnection
物件參考
MySQLCursor 執行方法
MySQLCursor.execute()
: 這個方法用來執行對資料庫的操作MySQLCursor.executemany()
: 這個方法用來執行對資料庫的操作,並搭配數組參數,例如插入多筆資料
MySQLCursor 獲取方法
MySQLCursor.fetchone()
: 這個方法收到搜尋結果的下一列,回傳一筆 tuples,若沒有資料則回傳 None
MySQLCursor.fetchall()
: 取得所有尋結果,回傳一個 tuples 列表MySQLCursor.fetchmany()
: 取得多筆尋結果,可指定要求的筆數,若可用資料筆數少於要求筆數,則回傳剩餘的筆數
fetchall()
和 fetchmany()
使用 fetchone()
實作
當 cursor
作為迭代器時,每一筆資料也是使用 fetchone()
取得