PyMySQL實(shí)現(xiàn)增刪查改的簡(jiǎn)單使用
我們?cè)谑褂肕ySQL的時(shí)候,可以在MySQL的客戶終端來(lái)操作數(shù)據(jù)庫(kù)中的表,同時(shí),也可以使用navicat等可視化的工具來(lái)操作數(shù)據(jù)表。但是,這只是操作個(gè)別數(shù)據(jù),如果我們想要插入10萬(wàn)條數(shù)據(jù),那肯定就不能這么做了。
我們可以通過(guò)程序?qū)懸粋€(gè)循環(huán)來(lái)自動(dòng)插入,因此,PyMySQL就是使用python語(yǔ)言來(lái)直接操作數(shù)據(jù)庫(kù)的一個(gè)接口。
明確了這一點(diǎn),我們?cè)匍_(kāi)始介紹PyMySQL包:
1、PyMySQL的使用步驟:
2、案例:
2.1 查詢數(shù)據(jù)庫(kù)中的表的信息:
# 需求:查詢數(shù)據(jù)庫(kù)person中info表的信息 # 1.導(dǎo)包 import pymysql try: # 2.連接MySQL數(shù)據(jù)庫(kù)的服務(wù) connc = pymysql.Connect( user="root", # The first four arguments is based on DB-API 2.0 recommendation. password="4412", host='127.0.0.1', # mysql服務(wù)端的IP,默認(rèn)是127.0.0.1/localhost,或者寫真實(shí)的ip database='person', port=3306, charset="utf8") # 3.創(chuàng)建游標(biāo)對(duì)象 cur = connc.cursor() # 4.編寫SQL語(yǔ)句 sql = 'select * from info;' # 5.使用游標(biāo)對(duì)象調(diào)用SQL cur.execute(sql) # 6.獲取查詢的結(jié)果 result= cur.fetchall() print(result) # 7.關(guān)閉游標(biāo)對(duì)象 cur.close() # 8.關(guān)閉連接 connc.close() except Exception as e: print(e)
運(yùn)行結(jié)果:
2.2 增加數(shù)據(jù):
大部分的步驟都和前面一樣,直接在程序中注釋看:
# 需求: # 增加數(shù)據(jù) 劉德華56 男 數(shù)據(jù) 到 數(shù)據(jù)庫(kù)person--的info表中 # 修改數(shù)據(jù) 小王 的名字為 小王吧 到 數(shù)據(jù)庫(kù)person--的info表中 # 刪除數(shù)據(jù) 張三 數(shù)據(jù)庫(kù)person--的info表中 # 1.導(dǎo)包 import pymysql # 2.連接MySQL服務(wù) connc = pymysql.Connect( user="root", # The first four arguments is based on DB-API 2.0 recommendation. password="4412", host='127.0.0.1', # mysql服務(wù)端的IP,默認(rèn)是127.0.0.1/localhost,或者寫真實(shí)的ip database='person', port=3306, charset="utf8") # 3.創(chuàng)建游標(biāo)對(duì)象 cur = connc.cursor() try: # 4.編寫、增加、刪除的SQL語(yǔ)句 # 增加數(shù)據(jù) 劉德華 56 男 sql = 'insert into info values(%s, %s, %s, %s)' add_data = [0,"劉德華", 56, "男"] # 5.使用游標(biāo)對(duì)象執(zhí)行SQL語(yǔ)句 cur.execute(sql, add_data) # 6.提交操作 connc.commit() except Exception as e: print(e) # 操作失敗,數(shù)據(jù)回滾 connc.rollback() finally: # 7.關(guān)閉游標(biāo)對(duì)象 cur.close() # 8.關(guān)閉連接 connc.close() print("結(jié)束!")
運(yùn)行之后,看看person數(shù)據(jù)庫(kù)中 表info 的數(shù)據(jù),確實(shí)增加成功了:
2.3 修改數(shù)據(jù):
# 需求: # 增加數(shù)據(jù) 劉德華56 男 數(shù)據(jù) 到 數(shù)據(jù)庫(kù)person--的info表中 # 修改數(shù)據(jù) 小王 的名字為 小王吧 到 數(shù)據(jù)庫(kù)person--的info表中 # 刪除數(shù)據(jù) 張三 數(shù)據(jù)庫(kù)person--的info表中 # 1.導(dǎo)包 import pymysql # 2.連接MySQL服務(wù) connc = pymysql.Connect( user="root", # The first four arguments is based on DB-API 2.0 recommendation. password="4412", host='127.0.0.1', # mysql服務(wù)端的IP,默認(rèn)是127.0.0.1/localhost,或者寫真實(shí)的ip database='person', port=3306, charset="utf8") # 3.創(chuàng)建游標(biāo)對(duì)象 cur = connc.cursor() try: # 4.編寫、增加、刪除的SQL語(yǔ)句 # 修改數(shù)據(jù) 李四 的名字為 李四的爸爸 sql = 'update info set name=%s where name="李四"' update_data = ["李四的爸爸"] # 5.使用游標(biāo)對(duì)象執(zhí)行SQL語(yǔ)句 cur.execute(sql, update_data) # 6.提交操作 connc.commit() except Exception as e: print(e) # 操作失敗,數(shù)據(jù)回滾 connc.rollback() finally: # 7.關(guān)閉游標(biāo)對(duì)象 cur.close() # 8.關(guān)閉連接 connc.close() print("結(jié)束!")
運(yùn)行之后,看看person數(shù)據(jù)庫(kù)中 表info 的數(shù)據(jù),確實(shí)修改成功了:
2.3 刪除數(shù)據(jù):
# 需求: # 增加數(shù)據(jù) 劉德華56 男 數(shù)據(jù) 到 數(shù)據(jù)庫(kù)person--的info表中 # 修改數(shù)據(jù) 小王 的名字為 小王吧 到 數(shù)據(jù)庫(kù)person--的info表中 # 刪除數(shù)據(jù) 張三 數(shù)據(jù)庫(kù)person--的info表中 # 1.導(dǎo)包 import pymysql # 2.連接MySQL服務(wù) connc = pymysql.Connect( user="root", # The first four arguments is based on DB-API 2.0 recommendation. password="4412", host='127.0.0.1', # mysql服務(wù)端的IP,默認(rèn)是127.0.0.1/localhost,或者寫真實(shí)的ip database='person', port=3306, charset="utf8") # 3.創(chuàng)建游標(biāo)對(duì)象 cur = connc.cursor() try: # 4.編寫、增加、刪除的SQL語(yǔ)句 # 修改數(shù)據(jù) 李四 的名字為 李四的爸爸 sql = 'update info set name=%s where name="李四"' update_data = ["李四的爸爸"] # 5.使用游標(biāo)對(duì)象執(zhí)行SQL語(yǔ)句 cur.execute(sql, update_data) # 6.提交操作 connc.commit() except Exception as e: print(e) # 操作失敗,數(shù)據(jù)回滾 connc.rollback() finally: # 7.關(guān)閉游標(biāo)對(duì)象 cur.close() # 8.關(guān)閉連接 connc.close() print("結(jié)束!")
運(yùn)行之后,看看person數(shù)據(jù)庫(kù)中 表info 的數(shù)據(jù),確實(shí)刪除成功了:
到此這篇關(guān)于PyMySQL實(shí)現(xiàn)增刪查改的簡(jiǎn)單使用的文章就介紹到這了,更多相關(guān)PyMySQL 增刪查改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python pygame模塊編寫飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了python pygame模塊編寫飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11tensorflow使用freeze_graph.py將ckpt轉(zhuǎn)為pb文件的方法
這篇文章主要介紹了tensorflow使用freeze_graph.py將ckpt轉(zhuǎn)為pb文件的方法,需要的朋友可以參考下2020-04-04python中將函數(shù)賦值給變量時(shí)需要注意的一些問(wèn)題
變量賦值是我們?cè)谌粘i_(kāi)發(fā)中經(jīng)常會(huì)遇到的一個(gè)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于python中將函數(shù)賦值給變量時(shí)需要注意的一些問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作指南
對(duì)于開(kāi)發(fā)一個(gè)游戲來(lái)說(shuō),窗口的顯示肯定是前提中的前提,對(duì)于pygame來(lái)說(shuō),只需要一小段代碼就可以初始化窗口,下面這篇文章主要給大家介紹了關(guān)于pygame自定義窗口創(chuàng)建及相關(guān)操作的相關(guān)資料,需要的朋友可以參考下2022-07-07