详解使用pymysql在python中对mysql的增删改查操作(综合)
短信预约 -IT技能 免费直播动态提醒
这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结:
先查阅数据库:
现在编写源码进行增删改查操作,源码为:
#!/usr/bin/python
#coding:gbk
import pymysql
from builtins import int
#将MysqlHelper的几个函数写出来
def connDB(): #连接数据库
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): #关闭连接,释放资源
cur.close();
conn.close();
result=True;
print("请选择以上四个操作:1、修改记录,2、增加记录,3、查询记录,4、删除记录.(按q为退出)");
conn,cur=connDB();
number=input();
while(result):
if(number=='q'):
print("结束操作");
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("非法输入,将结束操作!");
result=False;
break;
print("请选择以上四个操作:1、修改记录,2、增加记录,3、查询记录,4、删除记录.(按q为退出)");
number=input("请选择操作");
现在运行程序观察:
现在查询数据库:
可以看到数据库中新增了一条数据,现在进行更新数据:
现在我们不在查询数据库,直接在该程序中进行查询,如图:
可以看到已经将第四条数据的Name更新为bingwen,现在进行删除操作,删除第四条记录,如图:
现在我们在数据库中进行查询是否将该数据删除,如图:
可以看到删除操作已经成功进行,现在退出当前程序,如图:
如此,pymysql对mysql数据库的增删改查操作便完成了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341