表结构:
利用python操作数据库需要导入pymysql数据库,如果没有这个库可以利用cmd进行安装,打开cmd然后输入:
pip install pymysql
即可成功安装。
python实现数据库的增删查改:
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
#导入所需要的库
import pymysql
#利用connect函数打开数据库连接,参数分别为:主机名、用户名、密码、端口号、表名
db = pymysql.connect(host='localhost',user='****',password='*******',port=3306,db='****')
#使用cursor()方法获取游标
cursor = db.cursor()
#定义一个整数i,来代表用户选择的功能,初始值设为0
i = 0
while i!=5:
#打印字符串,提示用户选择功能,用户需要输入数字来选择功能
print("1.信息输入\n2.信息查询\n3.信息修改\n4.信息删除\n5.退出")
#Python中,input获取的数据类型默认为str,这里将其强制转换为int类型,便于后面判断功能
i = int(input("请输入您要执行的功能:\n"))
#增加数据
if i==1:
cursor = db.cursor()
IN = 'Y'
while(IN!='N'):
ID = input("请输入成员id:\n")
name = input("请输入成员姓名:\n")
age = input("请输入成员年龄:\n")
#SQL插入语句
sql = 'INSERT INTO test(ID,name, age) values (%s,%s,%s)'
try:
#执行sql语句
cursor.execute(sql,(ID,name,age))
#提交到数据库执行
db.commit()
#如果添加成功则打印字符串
print("添加成功")
except:
#发生错误时回滚
db.rollback()
IN = input("是否继续输入(Y/N)?")
#信息查询
elif i==2:
#使用cursor方法获取游标
cursor = db.cursor()
#sql查询语句
sql = "select * from test"
#执行sql语句并将查询到的结果赋给reCount
reCount = cursor.execute(sql)
#打印reCount中的内容
print(reCount)
#使用fetchall()方法获得整个数据库
data = cursor.fetchall()
print(data)
#信息修改
elif i==3:
#使用cursor方法获取游标
cursor = db.cursor()
idd = input("请输入要修改成员的ID:\n")
print("1.ID\n2.姓名\n3.年龄\n")
function = int(input("请输入要修改的数据:\n"))
change = input("请输入修改后的数据:\n")
if function==1:
function = "id"
elif function==2:
function = "name"
else:
function = "age"
#sql修改语句
sql = "update test set %s=%s where id = '%s'" % (function,change,idd)
try:
#执行sql语句
cursor.execute(sql)
#提交到数据库中执行
db.commit()
#如果修改成功则打印字符串提示
print("修改成功")
except:
#发生错误时回滚
db.rollback()
#信息删除
elif i==4:
#利用cursor()获取游标
cursor = db.cursor()
#利用学号删除信息
iddd = input("请输入被删除成员的学号:\n")
#sql删除语句
sql = "delete from test where id=%s"%(iddd)
try:
#执行sql语句
cursor.execute(sql)
#提交到数据库执行
db.commit()
#如果执行成功则打印字符串提示
print("删除成功")
except:
#发生错误时回滚
db.rollback()
#如果用户选择功能5,则进入该分支,退出循环,结束数据库操作
else:
break
#关闭数据库
cursor.close()
db.close()