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

yipeiwu_com6年前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设计】。

相关文章

详解Python中的__getitem__方法与slice对象的切片操作

Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素: >>> Fib()[5] Traceback...

Python中super的用法实例

super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。总之前人留下的经验就...

Django中数据库的数据关系:一对一,一对多,多对多

Django中数据库的数据关系:一对一,一对多,多对多

一对一: 一对一的关系极为一个数据仅对应一个数据,用下图的结构图可以帮助理解: 下面用代码实现一下,首先要创建工程项目如下: 接着,我们定义模型: 来到models.py文件,创建两...

基于Django的乐观锁与悲观锁解决订单并发问题详解

前言 订单并发这个问题我想大家都是有一定认识的,这里我说一下我的一些浅见,我会尽可能的让大家了解如何解决这类问题。 在解释如何解决订单并发问题之前,需要先了解一下什么是数据库的事务。(我...

解决pandas read_csv 读取中文列标题文件报错的问题

从windows操作系统本地读取csv文件报错 data = pd.read_csv(path) Traceback (most recent call last): Fi...