詳解使用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,并用空格隔開"); 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)文章
詳解django的serializer序列化model幾種方法
序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^(guò)程。這篇文章主要介紹了詳解django的serializer序列化model幾種方法。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Python基于文件內(nèi)容實(shí)現(xiàn)查找文件功能
無(wú)論是Linux系統(tǒng)還是Windows系統(tǒng)都有基于文件名實(shí)現(xiàn)過(guò)濾、查找的功能。但是如果想要查找一些關(guān)于某些文件指定內(nèi)容的文件,好像它們明面上沒(méi)有這樣的功能了。這個(gè)時(shí)候就可以通過(guò) Python 來(lái)實(shí)現(xiàn)這樣的功能,快跟隨小編一起學(xué)習(xí)一下吧2022-05-05python實(shí)現(xiàn)漫天飄落的七彩花朵效果
要實(shí)現(xiàn)漫天飄落的七彩花朵效果,你可以使用Python的圖形庫(kù),如Pygame或Pyglet,這些庫(kù)可以幫助你創(chuàng)建動(dòng)畫和圖形效果,本文給大家介紹了如何使用python實(shí)現(xiàn)漫天飄落的七彩花朵效果,感興趣的朋友可以參考下2024-01-01詳解python如何通過(guò)numpy數(shù)組處理圖像
Numpy?是?Python?中科學(xué)計(jì)算的核心庫(kù),NumPy?這個(gè)詞來(lái)源于?Numerical?和?Python?兩個(gè)單詞。它提供了一個(gè)高性能的多維數(shù)組對(duì)象,以及大量的庫(kù)函數(shù)和操作,可以幫助程序員輕松地進(jìn)行數(shù)值計(jì)算,廣泛應(yīng)用于機(jī)器學(xué)習(xí)模型、圖像處理和計(jì)算機(jī)圖形學(xué)、數(shù)學(xué)任務(wù)等領(lǐng)域2022-03-03python3音樂(lè)播放器簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python3音樂(lè)播放器簡(jiǎn)單實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06