Python管理系统与mysql交互的操作怎么进行
Admin 2022-06-23 群英技术资讯 664 次浏览
开启小皮
数据库text 数据库表 student 字段 student_no name age sex
效果图如下
增
删
查
改
用类的方法写了一下构造搞了半天 但搞出来了
修改那有个bug 修改玩了还卡在那输入一个不存在的学号就退出当前 回到主页面了
写着复盘
''' 学生系统基本功能 增删查改 ''' import pymysql class Mysql(object): #初始化方法 def __init__(self): self.db = pymysql.connect( host='localhost', user='root', password='123456789', port=3306, db='text' ) self.cursor = self.db.cursor() # 添加 def insert(self, name, age, sex): sql = "INSERT INTO student(name, age,sex) values(%s, %s, %s)" try: self.cursor.execute(sql, (name, age, sex)) self.db.commit() print('插入成功') except: self.db.rollback() print('插入失败') self.db.close() pass #查询所有 def select(self): sql = "select * from student " try: self.cursor.execute(sql) result = self.cursor.fetchall() self.db.commit() print(f'查询成功数据为:{result}') except: self.db.rollback() self.db.close() pass #查询单个 def select_one(self,name): sql = "select name from student " try: self.cursor.execute(sql) result = self.cursor.fetchall() self.db.commit() print(f'查询成功数据为:{result}') except: self.db.rollback() self.db.close() pass 修改那有个bug 修改玩了还卡在那输入一个不存在的学号就退出当前 回到主页面了 # 修改 def Revise(self, student_no, name, age): sql = "update student set name=%s,age=%s where student_no=%s" params = [name, age, student_no] try: self.cursor.execute(sql, (params)) self.db.commit() print('修改成功') pass except: self.db.rollback() print('修改失败') self.db.close() pass #删除 def del_Revise(self,student_no): sql = "delete from student where student_no=%s " params = [student_no] try: self.cursor.execute(sql,(params)) self.db.commit() print('删除成功') except: self.db.rollback() print('删除失败') self.db.close() pass #学生类 class Student(): #初始化方法 def __init__(self,name,age,sex): #添加属性 self.name =name self.age =age self.sex =sex class StudentManageSystem(): def __init__(self): #定义一个列表 self.student_list = list() #打印功能 def show_menu(self): ''' 改函数是为了展示功能界面 ''' #1.显示系统的功能菜单 print('-------学生管理系统1.0________') print('+-----------------------------+') print('| 1) 添加学生信息 |') print('| 2) 修改学生信息 |') print('| 3) 删除学生信息 |') print('| 4) 显示所有学生 |') print('| 5) 查询学生信息 |') print('| 6) 退出管理系统 |') print('+-----------------------------+') # 添加学生函数 def add_student(self): name = input("请输入学生的姓名:") age = input("请输入学生的年龄:") sex = input("请输入学生的性别:") db.insert(name,age,sex) # 添加一个学生,需要自己创建一个学生对象 stu = Student(name, age, sex) # 把对象添加到列表里面 self.student_list.append(stu) #print(self.student_list) #print('添加成功') # 显示所有学生函数 def show_all_student(self): db.select() for index, student in enumerate(self.student_list): student_no = index + 1 print("学号:", student_no, "姓名:", student.name, "年龄:", student.age, "性别:", student.sex ) # 修改学生信息函数 def modify_student(self,student_no, name, age): # 1.接收用户输入的学号 db.Revise(student_no,name,age) student_no = int(input("请输入要修改学生的学号:")) index = student_no - 1 index = student_no student_no = index if 0 <= index < len(self.student_list): student = self.student_list[index] new_name = input("请输入修改后的姓名:") new_age = input("请输入修改后的年龄:") # new_sex = input("请输入修改后的性别:") student.name = new_name student.age = new_age # student.sex = new_sex name = new_name age = new_age # sex = new_sex #print("修改成功") else: print("请输入正确的学号:") # 删除学生信息 def delete_student(self): try: student_no = int(input("请输入要删除学生的学号:")) db.del_Revise(student_no) # 2.将学号转换为下标 index = student_no - 1 if 0 <= index <= len(self.student_list): student = self.student_list.pop(index) print("%s,删除成功!" % student.name) else: print("请输入有效学号!") except: pass # 查询某个学生信息 def query_student(self): name = input("请输入要查询学生的姓名:") db.select_one(name) for index, student in enumerate(self.student_list): student_no = index + 1 if student.name == name: print("学号:", student_no, "姓名:", student.name, "年龄:", student.age, "性别:", student.sex ) break else: print("对不起,没有该学生") # 程序入口函数,程序开始时第一个执行的函数 def run(self): while True: # 1.显示系统功能菜单 self.show_menu() # 2.接收用户输入的功能选项 menu_option = input("请输入你要操作的功能选项:") # 3. 判断用户选择的指定功能,然后完成对应的操作(增删改查的功能) if menu_option == "1": print("添加学生信息") self.add_student() elif menu_option == "2": print("修改学生信息") student_no = int(input("请输入要修改学生的学号:")) name = input('请输入要修改学生的姓名:') age = input('请输入要修改学生的年龄:') self.modify_student(student_no, name, age) elif menu_option == "3": print("删除学生信息") self.delete_student() elif menu_option == "4": print("显示学生信息") self.show_all_student() elif menu_option == "5": print("查询学生信息") self.query_student() else: print("程序退出") break if __name__ == '__main__': db = Mysql() system = StudentManageSystem() #程序入口方法 system.run()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文将给大家介绍一个第三方库-Tenacity(标题中的重试机制并并不准确,它不是 Python 的内置模块,因此并不能称之为机制),它实现了几乎我们可以使用到的所有重试场景,快跟随小编一起学习一下吧
这篇文章主要介绍了Python中的 enumerate和zip,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
本文主要介绍了使用python opencv对畸变图像进行矫正的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
通过NETCONF,网管能够用可视化的界面统一管理网络中的设备,并且安全性高、可靠性强、扩展性强。如下图所示,网管与网络中的所有交换机之间建立NETCONF会话,用户即可在网管提供的可视化界面上对网络中的所有交换机进行统一的管理,提高网络运维效率。
这篇文章将详细为大家介绍一些Python中PPT段落的一些使用:获取段落、段落添加内容、自定义段落等,文中的示例代码讲解详细,需要的可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008