详解使用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日期时间Time模块实例详解

本文实例讲述了Python日期时间Time模块。分享给大家供大家参考,具体如下: 关于时间和日期模块 python程序能用很多方式处理日期和时间,转换日期格式是一种常见的功能。 pyt...

flask/django 动态查询表结构相同表名不同数据的Model实现方法

1.问题 为了控制数据的增长,经常需要分表,数据库中存在多张结构相同,表名相关的表,如: table_201706 table_201707 table_201708 怎么通过SQL...

详解Python locals()的陷阱

在工作中, 有时候会遇到一种情况: 动态地进行变量赋值, 不管是局部变量还是全局变量, 在我们绞尽脑汁的时候, Python已经为我们解决了这个问题. Python的命名空间通过一种字典...

Python的ORM框架中SQLAlchemy库的查询操作的教程

1. 返回列表和标量(Scalar) 前面我们注意到Query对象可以返回可迭代的值(iterator value),然后我们可以通过for in来查询。不过Query对象的all()、...

pandas实现将dataframe满足某一条件的值选出

在读取数据的时候发现,想把数据中第六列含问号的数据挑出来 import pandas as pd data = pd.read_table('breast-cancer-wisc...