m0_52235516 2021-11-19 10:48 采纳率: 76.5%
浏览 37
已结题

Python数据库操作,创建关系型数据库

创建一个关系型数据库db_stu(SQLite数据库),并在该数据库中创建一个学生信息表tb_student,包含stuId(学号)、stuName
(姓名)、stuSex(性别)、stuMajor(专业)、stuBirthday(出生日
期)等字段信息,其中stuId为主键。请使用python编写程序实现
对数据库表tb_student进行数据的增加,修改,删除与查询等基本
操作(自定义所需添加修改与删除的数据)。

  • 写回答

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('输入错误,请重新输入')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法