创建一个关系型数据库db_stu(SQLite数据库),并在该数据库中创建一个学生信息表tb_student,包含stuId(学号)、stuName
(姓名)、stuSex(性别)、stuMajor(专业)、stuBirthday(出生日
期)等字段信息,其中stuId为主键。请使用python编写程序实现
对数据库表tb_student进行数据的增加,修改,删除与查询等基本
操作(自定义所需添加修改与删除的数据)。
Python数据库操作,创建关系型数据库
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 波༒风 2021-11-19 11:24关注
import pymysql class stuSystem: def open_mysql(self): self.conn = pymysql.connect('localhost','root','158598','sanke') self.cursor = self.conn.cursor() def close_mysql(self): # 关闭游标和链接 self.cursor.close() self.conn.close() #1.显示功能列表 def show(self): print(''' 欢迎进入学生管理系统! 请选择您要执行的功能: 1.添加学生信息 2.删除学生信息 3.更新学生信息 4.查询学生信息 5.查询学生表 0.退出学生管理系统 ''') #2.获取功能序号 def getInfo(self): key = int(input('请输入执行功能的序号:')) return key #3.添加学生信息 def add(self): sid = eval(input('请输入学生的ID:')) gradename = input('请输入学生的名字:') age = eval(input('请输入学生的年龄:')) parm = (sid,gradename,age) sql = 'insert into sk values (%s,%s,%s)' self.cursor.execute(sql,parm) self.conn.commit() #4.删除学生信息 def dele(self): delNum = int(input('请输入您要删除的学生学号:')) sql = 'delete from sk where sid=%s' self.cursor.execute(sql,delNum) self.conn.commit() print('已删除该学生信息') #5.更新学生信息 def modifyInfo(self): modifyUser = input('请输入您要修改的学员信息(sid/gradename/age):') if modifyUser == 'sid': modifyNum = input('请输入您要修改的学生姓名:') modifyIn = input('请输入您要更新后的ID数据:') sql = 'update sk set sid=%s where gradename=%s' parm = (modifyIn,modifyNum) self.cursor.execute(sql, parm) self.conn.commit() print('学生表更新完成!') elif modifyUser == 'gradename': modifyNum = input('请输入您要修改的学生ID:') modifyIn = input('请输入您要更新后的学生姓名:') sql = 'update sk set gradename=%s where sid=%s' parm = (modifyIn,modifyNum) self.cursor.execute(sql, parm) self.conn.commit() print('学生表更新完成!') elif modifyUser == 'age': modifyNum = input('请输入您要修改的学生ID:') modifyIn = input('请输入您要更新后的年龄数据:') sql = 'update sk set age=%s where sid=%s' parm = (modifyIn,modifyNum) self.cursor.execute(sql, parm) self.conn.commit() print('学生表更新完成!') #6.查询学生信息 def searchInfo(self): searchNum = int(input('请输入您要查询的学号:')) sql = 'select * from sk where sid=%s' self.cursor.execute(sql,searchNum) student = self.cursor.fetchone() print('学号:{},名字:{},年龄:{}'.format(student[0],student[1],student[2])) #7.展示学生表 def showInfo(self): sql = 'select * from sk' self.cursor.execute(sql) student = self.cursor.fetchall() print('*'*20) print('ID 姓名 年龄') for i in student: print('{} {} {}'.format(i[0],i[1],i[2])) print('*'*20) #8.退出系统 def quit(self): print('系统已退出,再见!') #9.函数调用 def func(self): #链接数据库 self.open_mysql() while True: #显示功能 self.show() #获取序号 key = self.getInfo() if key == 0 : #退出 quit() self.close_mysql() break elif key == 1: #增加 self.add() elif key == 2: #删除 self.dele() elif key == 3: #更新 self.modifyInfo() elif key == 4: #查询 self.searchInfo() elif key == 5: #学生表展示 self.showInfo() else: print('输入错误,请重新输入')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 乌班图ip地址配置及远程SSH
- ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
- ¥15 PSPICE制作一个加法器
- ¥15 javaweb项目无法正常跳转
- ¥15 VMBox虚拟机无法访问
- ¥15 skd显示找不到头文件
- ¥15 机器视觉中图片中长度与真实长度的关系
- ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
- ¥15 java 的protected权限 ,问题在注释里
- ¥15 这个是哪里有问题啊?