使用PyMySQL操作MySQL資料庫

2022-06-27 17:03:11 字數 2685 閱讀 4691

pip3 install pymysql或者python3 -m pip install pymysql

注意:連線之前先確保你已經安裝mysql資料庫

mysql_config = 

conn = pymysql.connect(**mysql_config) # 資料庫連線

cur = conn.cursor() # 游標物件

mysql_config中的指標為連線資料庫的重要引數,引數的相關說明請看以上注釋,相關引數的值請換成你自己的。

本人習慣將引數以字典的方式儲存,並在連線時用兩個*號來對字典進行解包(有興趣的小夥伴可以自行搜尋python容器解包的相關知識),這樣做的好處就是可以抽取關鍵資料,並將資料放在可配置化指令碼中。

當然,你也可以用關鍵字引數的形式把資料寫到connect()方法中,如pymysql.connect(host = 'localhost', port = 3306, ...)

建立連線後我們可以得到乙個資料庫連線物件conn和游標物件cur

成功連線資料庫後,我們就可以執行相關的sql語句來增刪改查我們的資料了。

myclass資料庫中存在student表,我們執行sql語句來查詢student表中的資料

資料表如下

name

ageheight

mary

18155.0

tony

20175.0

lisa

19165.5

執行sql語句需要用到cur物件中的execute()方法

執行後獲取資料的方法主要有以下三種:

fetchone

sql = "select * from student"

n = cur.execute(sql) # 執行後得到資料的條數

for i in range(n):

print(f'--這是第條資料--')

info = cur.fetchone()

print(info)

執行結果如下

--這是第1條資料--

('mary', 18, 155.0)

--這是第2條資料--

('tony', 20, 175.0)

--這是第3條資料--

('lisa', 19, 165.5)

n值是執行查詢語句返回的結果條數,fetchone()第一次執行取的是第一條資料,之後執行就是取下一條資料,遍歷n就可以取到每一條資料。

fetchmany

sql = "select * from student"

n = cur.execute(sql) # 執行後得到資料的條數

info = cur.fetchmany(2) # 取前面兩條資料

print(info)

執行結果如下

(('mary', 18, 155.0), ('tony', 20, 175.0))
fetchmany()可以取執行結果集的任意條資料,如果取n則返回全部資料的資料集。

fetchall

sql = "select * from student"

n = cur.execute(sql) # 執行後得到資料的條數

info = cur.fetchall() # 取所有資料

print(info)

執行結果如下

(('mary', 18, 155.0), ('tony', 20, 175.0), ('lisa', 19, 165.5))
fetchall()就是取執行結果的所有資料的資料集

上面已經對pymysql中sql的查詢方式進行了簡單的說明和實現,至於其他的增、刪、改操作其實跟上面的查詢操作差不多,主要還是使用到cur物件的execute()方法來執行。

但是執行增、刪、改操作時需要注意的是,在使用execute()方法執行sql語句後,還要在後面加一句conn.commit(),用於將事務提交到資料庫執行。

如下

sql = "insert into student values ('ben', 19, 166.5)"

cur.execute(sql) # 執行

conn.commit() # 提交

執行成功後,可以通過查詢方法fatchall檢視結果,結果如下

(('mary', 18, 155.0), ('tony', 20, 175.0), ('lisa', 19, 165.5), ('ben', 19, 166.5))
可以看到最後面多了一條新的資料,說明資料插入成功。

刪和改的操作跟插入是一樣的,在這裡就不做過多演示了,有興趣的小夥伴可以自己嘗試去實現。

務必記得要加上commit()語句哦,否則執行後不會發生任何變化。

在執行完增、刪、改、查操作後,最後一定記得要關閉游標和資料庫連線,以避免資料庫資源的消耗和產生不同連線之間的衝突。

關閉語句如下

cur.close()  # 關閉游標

conn.close() # 關閉資料庫連線

使用PyMySQL操作mysql資料庫

使用pymysql操作mysql資料庫 python版本 2.6或3.3 mysql版本 4.1 使用pip安裝,在命令列執行如下命令 1 pip install pymysql 其中的x.x是版本 目前可以獲取的最新版本是0.6.6 1 python setup.py install 建議使用pi...

使用PyMySQL操作mysql資料庫

python版本 2.6或3.3 mysql版本 4.1 使用pip安裝,在命令列執行如下命令 1pip install pymysql 其中的x.x是版本 目前可以獲取的最新版本是0.6.6 1python setup.py install 建議使用pip安裝。連線資料庫如下 12 3456 78...

PyMySQL的基本操作

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