詳解使用pymysql在python中對(duì)mysql的增刪改查操作(綜合)
這一次將使用pymysql來(lái)進(jìn)行一次對(duì)MySQL的增刪改查的全部操作,相當(dāng)于對(duì)前五次的總結(jié):
先查閱數(shù)據(jù)庫(kù):

現(xiàn)在編寫源碼進(jìn)行增刪改查操作,源碼為:
#!/usr/bin/python
#coding:gbk
import pymysql
from builtins import int
#將MysqlHelper的幾個(gè)函數(shù)寫出來(lái)
def connDB(): #連接數(shù)據(jù)庫(kù)
conn=pymysql.connect(host="localhost",user="root",passwd="zx69728537",db="student");
cur=conn.cursor();
return (conn,cur);
def exeUpdate(conn,cur,sql): #更新或插入操作
sta=cur.execute(sql);
conn.commit();
return (sta);
def exeDelete(conn,cur,IDs): #刪除操作
sta=0;
for eachID in IDs.split(' '):
sta+=cur.execute("delete from students where Id=%d"%(int(eachID)));
conn.commit();
return (sta);
def exeQuery(cur,sql): #查找操作
cur.execute(sql);
return (cur);
def connClose(conn,cur): #關(guān)閉連接,釋放資源
cur.close();
conn.close();
result=True;
print("請(qǐng)選擇以上四個(gè)操作:1、修改記錄,2、增加記錄,3、查詢記錄,4、刪除記錄.(按q為退出)");
conn,cur=connDB();
number=input();
while(result):
if(number=='q'):
print("結(jié)束操作");
break;
elif(int(number)==1):
sql=input("請(qǐng)輸入更新語(yǔ)句:");
try:
exeUpdate(conn, cur, sql);
print("更新成功");
except Exception:
print("更新失敗");
raise;
elif(int(number)==2):
sql=input("請(qǐng)輸入新增語(yǔ)句:");
try:
exeUpdate(conn, cur, sql);
print("新增成功");
except Exception:
print("新增失敗");
raise;
elif(int(number)==3):
sql=input("請(qǐng)輸入查詢語(yǔ)句:");
try:
cur=exeQuery(cur, sql);
for item in cur:
print("Id="+str(item[0])+" name="+item[1]);
except Exception:
print("查詢出錯(cuò)");
raise;
elif(int(number)==4):
Ids=input("請(qǐng)輸入Id,并用空格隔開(kāi)");
try:
exeDelete(conn, cur, Ids);
print("刪除成功");
except Exception:
print("刪除失敗");
raise;
else:
print("非法輸入,將結(jié)束操作!");
result=False;
break;
print("請(qǐng)選擇以上四個(gè)操作:1、修改記錄,2、增加記錄,3、查詢記錄,4、刪除記錄.(按q為退出)");
number=input("請(qǐng)選擇操作");
現(xiàn)在運(yùn)行程序觀察:

現(xiàn)在查詢數(shù)據(jù)庫(kù):

可以看到數(shù)據(jù)庫(kù)中新增了一條數(shù)據(jù),現(xiàn)在進(jìn)行更新數(shù)據(jù):

現(xiàn)在我們不在查詢數(shù)據(jù)庫(kù),直接在該程序中進(jìn)行查詢,如圖:

可以看到已經(jīng)將第四條數(shù)據(jù)的Name更新為bingwen,現(xiàn)在進(jìn)行刪除操作,刪除第四條記錄,如圖:

現(xiàn)在我們?cè)跀?shù)據(jù)庫(kù)中進(jìn)行查詢是否將該數(shù)據(jù)刪除,如圖:

可以看到刪除操作已經(jīng)成功進(jìn)行,現(xiàn)在退出當(dāng)前程序,如圖:

如此,pymysql對(duì)mysql數(shù)據(jù)庫(kù)的增刪改查操作便完成了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python定義一個(gè)跨越多行的字符串的多種方法小結(jié)
今天小編就為大家分享一篇Python定義一個(gè)跨越多行的字符串的多種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Pytorch 的損失函數(shù)Loss function使用詳解
今天小編就為大家分享一篇Pytorch 的損失函數(shù)Loss function使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python深入了解defaultdict之輕松處理默認(rèn)值與復(fù)雜數(shù)據(jù)結(jié)構(gòu)
在Python標(biāo)準(zhǔn)庫(kù)collections模塊中,defaultdict提供了一種在字典訪問(wèn)不存在的鍵時(shí)自動(dòng)提供默認(rèn)值的便利方式,這篇文章詳細(xì)介紹了defaultdict的使用方法、基礎(chǔ)概念、創(chuàng)建實(shí)例的步驟以及應(yīng)用場(chǎng)景,需要的朋友可以參考下2024-09-09
用Python將GIF動(dòng)圖分解成多張靜態(tài)圖片
今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著如何用Python將GIF動(dòng)圖分解成多張靜態(tài)圖片展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
保姆級(jí)官方y(tǒng)olov7訓(xùn)練自己的數(shù)據(jù)集及項(xiàng)目部署詳解
最近使用了YOLOv7訓(xùn)練自己的數(shù)據(jù)集,接下來(lái)簡(jiǎn)單記錄一下項(xiàng)目的部署,這篇文章主要給大家介紹了關(guān)于保姆級(jí)官方y(tǒng)olov7訓(xùn)練自己的數(shù)據(jù)集及項(xiàng)目部署的相關(guān)資料,需要的朋友可以參考下2022-08-08

