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

現(xiàn)在編寫源碼進(jìn)行增刪改查操作,源碼為:
#!/usr/bin/python
#coding:gbk
import pymysql
from builtins import int
#將MysqlHelper的幾個(gè)函數(shù)寫出來
def connDB(): #連接數(shù)據(jù)庫
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("請選擇以上四個(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("請輸入更新語句:");
try:
exeUpdate(conn, cur, sql);
print("更新成功");
except Exception:
print("更新失敗");
raise;
elif(int(number)==2):
sql=input("請輸入新增語句:");
try:
exeUpdate(conn, cur, sql);
print("新增成功");
except Exception:
print("新增失敗");
raise;
elif(int(number)==3):
sql=input("請輸入查詢語句:");
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("請輸入Id,并用空格隔開");
try:
exeDelete(conn, cur, Ids);
print("刪除成功");
except Exception:
print("刪除失敗");
raise;
else:
print("非法輸入,將結(jié)束操作!");
result=False;
break;
print("請選擇以上四個(gè)操作:1、修改記錄,2、增加記錄,3、查詢記錄,4、刪除記錄.(按q為退出)");
number=input("請選擇操作");
現(xiàn)在運(yùn)行程序觀察:

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

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

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

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

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

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

如此,pymysql對mysql數(shù)據(jù)庫的增刪改查操作便完成了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解django的serializer序列化model幾種方法
序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。這篇文章主要介紹了詳解django的serializer序列化model幾種方法。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
Python基于文件內(nèi)容實(shí)現(xiàn)查找文件功能
無論是Linux系統(tǒng)還是Windows系統(tǒng)都有基于文件名實(shí)現(xiàn)過濾、查找的功能。但是如果想要查找一些關(guān)于某些文件指定內(nèi)容的文件,好像它們明面上沒有這樣的功能了。這個(gè)時(shí)候就可以通過 Python 來實(shí)現(xiàn)這樣的功能,快跟隨小編一起學(xué)習(xí)一下吧2022-05-05
python實(shí)現(xiàn)漫天飄落的七彩花朵效果
要實(shí)現(xiàn)漫天飄落的七彩花朵效果,你可以使用Python的圖形庫,如Pygame或Pyglet,這些庫可以幫助你創(chuàng)建動(dòng)畫和圖形效果,本文給大家介紹了如何使用python實(shí)現(xiàn)漫天飄落的七彩花朵效果,感興趣的朋友可以參考下2024-01-01

