詳解使用pymysql在python中對mysql的增刪改查操作(綜合)
這一次將使用pymysql來進行一次對MySQL的增刪改查的全部操作,相當于對前五次的總結(jié):
先查閱數(shù)據(jù)庫:
現(xiàn)在編寫源碼進行增刪改查操作,源碼為:
#!/usr/bin/python #coding:gbk import pymysql from builtins import int #將MysqlHelper的幾個函數(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("請選擇以上四個操作: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("查詢出錯"); 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("請選擇以上四個操作:1、修改記錄,2、增加記錄,3、查詢記錄,4、刪除記錄.(按q為退出)"); number=input("請選擇操作");
現(xiàn)在運行程序觀察:
現(xiàn)在查詢數(shù)據(jù)庫:
可以看到數(shù)據(jù)庫中新增了一條數(shù)據(jù),現(xiàn)在進行更新數(shù)據(jù):
現(xiàn)在我們不在查詢數(shù)據(jù)庫,直接在該程序中進行查詢,如圖:
可以看到已經(jīng)將第四條數(shù)據(jù)的Name更新為bingwen,現(xiàn)在進行刪除操作,刪除第四條記錄,如圖:
現(xiàn)在我們在數(shù)據(jù)庫中進行查詢是否將該數(shù)據(jù)刪除,如圖:
可以看到刪除操作已經(jīng)成功進行,現(xiàn)在退出當前程序,如圖:
如此,pymysql對mysql數(shù)據(jù)庫的增刪改查操作便完成了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解django的serializer序列化model幾種方法
序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。這篇文章主要介紹了詳解django的serializer序列化model幾種方法。具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10Python基于文件內(nèi)容實現(xiàn)查找文件功能
無論是Linux系統(tǒng)還是Windows系統(tǒng)都有基于文件名實現(xiàn)過濾、查找的功能。但是如果想要查找一些關(guān)于某些文件指定內(nèi)容的文件,好像它們明面上沒有這樣的功能了。這個時候就可以通過 Python 來實現(xiàn)這樣的功能,快跟隨小編一起學習一下吧2022-05-05