这一次将使用pymysql来进行一次对mysql的增删改查的全部操作,相当于对前五次的总结:
先查阅数据库:
现在编写源码进行增删改查操作,源码为:
-
-
- import pymysql
- from builtins import int
-
-
-
- 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数据库的增删改查操作便完成了。