PyMySQL的基本操作

2021-10-10 09:28:25 字數 2619 閱讀 9526

使用pymysql庫對資料庫進行操作

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。

pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure-python mysql 客戶端庫。

pip install pymysql -i
pymysql.connect()引數說明

host(str): mysql伺服器位址

port(int): mysql伺服器端口號

user(str): 使用者名稱

passwd(str): 密碼

db(str): 資料庫名稱

charset(str): 連線編碼

connection物件支援的方法

cursor() 使用該連線建立並返回游標

commit() 提交當前事務

rollback() 回滾當前事務

close() 關閉連線

cursor物件支援的方法

execute(』*』) 執行乙個資料庫的查詢命令

fetchone() 取得結果集的下一行

fetchmany(size) 獲取結果集的下幾行

fetchall() 獲取結果集中的所有行

rowcount() 返回資料條數或影響行數

close() 關閉游標物件

# 導包

import pymysql

# 連線資料庫(伺服器位址,使用者名稱,密碼,資料表名)

db = pymysql.connect(

"localhost"

,"testuser"

,"test123"

,"testdb"

)# 使用 cursor() 方法建立乙個游標物件 cursor

cursor = db.cursor(

)# 用游標執行命令(檢視所有tables)

cursor.execute(

'show tables;'

)# 使用 fetchone() 方法獲取下一條返回的結果行(或第一行)

data = cursor.fetchone(

)cursor.close

為了保證每一步操作的嚴謹,python db api 2.0 的事務提供了兩個方法 commit 或 rollback。

事務機制可以確保資料一致性。

事務應該具有4個屬性:原子性、一致性、隔離性、永續性。這四個屬性通常稱為acid特性。

我的意思是,在pymysql上所做的資料修改,最好讓commit和rollback搭配

——譬如

# sql刪除記錄語句

sql =

"delete from employee where age > %s"%(

20)try:

# 執行sql語句

cursor.execute(sql)

# 向資料庫提交

db.commit(

)except

:# 發生錯誤時回滾

db.rollback(

)

在使用游標執行mysql語句的時候,很有可能會遇到不同的報錯情況,如下

異常描述

warning

當有嚴重警告時觸發,例如插入資料是被截斷等等。必須是 standarderror 的子類。

error

警告以外所有其他錯誤類。必須是 standarderror 的子類。

inte***ceerror

當有資料庫介面模組本身的錯誤(而不是資料庫的錯誤)發生時觸發。 必須是error的子類。

databaseerror

和資料庫有關的錯誤發生時觸發。 必須是error的子類。

dataerror

當有資料處理時的錯誤發生時觸發,例如:除零錯誤,資料超範圍等等。 必須是databaseerror的子類。

operationalerror

指非使用者控制的,而是運算元據庫時發生的錯誤。例如:連線意外斷開、 資料庫名未找到、事務處理失敗、記憶體分配錯誤等等運算元據庫是發生的錯誤。 必須是databaseerror的子類。

integrityerror

完整性相關的錯誤,例如外來鍵檢查失敗等。必須是databaseerror子類。

internalerror

資料庫的內部錯誤,例如游標(cursor)失效了、事務同步失敗等等。 必須是databaseerror子類。

programmingerror

程式錯誤,例如資料表(table)沒找到或已存在、sql語句語法錯誤、 引數數量錯誤等等。必須是databaseerror的子類。

notsupportederror

不支援錯誤,指使用了資料庫不支援的函式或api等。例如在連線物件上 使用.rollback()函式,然而資料庫並不支援事務或者事務已關閉。 必須是databaseerror的子類。

PyMySQL的基本操作

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。pip3 install pymysql pymys...

PyMysql的基本操作

pymysql是乙個python用來連線操作mysql的乙個庫 安裝pymysql庫 pip install pymysql先舉個例子 import pymysql db pymysql.connect localhost root 1004210191 first cursor db.cursor...

pymysql的基本使用

在學爬蟲的過程中,都要和資料庫打交道,我們常用的資料庫是mysql資料庫 或者redis 一對一 mongodb資料庫等 python3為我們提供了簡單的運算元據庫的方法,如下 我們安裝pymysql就基本上就是在命令列模式下,pip3 install pymysql 能翻牆的人用這個安裝吧 不能翻...