详解使用pymysql在python中对mysql的增删改查操作(综合)

yipeiwu_com5年前Python基础

这一次将使用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数据库的增删改查操作便完成了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用Node.js和Socket.IO扩展Django的实时处理功能

 今天,我们的目标是使用Django,Redis,和Socket.IO建立一个实时的聊天室。虽然几乎所有的Web应用程序都可以建立一个聊天室的。这篇文章将以较高的水平告诉你如何...

Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

前言 matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创...

详解Python的hasattr() getattr() setattr() 函数使用方法

hasattr(object, name) 判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。 需要注意的是name要...

浅谈django model postgres的json字段编码问题

django model的json字段的编码器不能有效编码诸如uuid,datetime等数据类型,当直接存储此类型的对象到json字段中为抛出编码异常,这时可以通过JSONField字...

python通过正则查找微博@(at)用户的方法

本文实例讲述了python通过正则查找微博@(at)用户的方法。分享给大家供大家参考。具体如下: 这段代码用到了python正则的findall方法,查找所有被@的用户,使用数组形式返回...