python 管理系统实现mysql交互的示例代码

作者:墨渊 时间:2024-01-28 16:30:52 

没配置的可以看一下我上一篇
地址

开启小皮

python 管理系统实现mysql交互的示例代码

数据库text 数据库表 student 字段 student_no name age sex

python 管理系统实现mysql交互的示例代码

效果图如下

python 管理系统实现mysql交互的示例代码

python 管理系统实现mysql交互的示例代码

python 管理系统实现mysql交互的示例代码

python 管理系统实现mysql交互的示例代码

用类的方法写了一下构造搞了半天 但搞出来了
修改那有个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()

来源:https://blog.csdn.net/qq_43233737/article/details/121625602

标签:python,管理系统,mysql交互
0
投稿

猜你喜欢

  • Python实战之画哆啦A梦(超详细步骤)

    2021-05-16 14:36:47
  • python爬虫基础教程:requests库(二)代码实例

    2023-05-31 07:56:35
  • django 连接数据库 sqlite的例子

    2023-08-03 19:03:15
  • ie7.0浏览器 兼容问题苦煞网站设计者

    2007-08-08 17:11:00
  • python的格式化输出(format,%)实例详解

    2022-03-20 04:17:57
  • PHP htmlspecialchars()函数用法与实例讲解

    2023-06-02 16:48:38
  • CSS鼠标悬停tip效果

    2007-08-26 17:32:00
  • python代码如何注释

    2021-08-16 20:46:29
  • GO的range具体使用

    2023-07-21 03:27:27
  • 前端面试之vue2和vue3的区别有哪些

    2024-04-28 10:54:38
  • MySQL如何解决DOS窗口乱码问题

    2024-01-22 11:44:56
  • 简单介绍一下pyinstaller打包以及安全性的实现

    2021-07-23 15:34:56
  • PyTorch 使用torchvision进行图片数据增广

    2023-06-19 23:09:10
  • git中cherry-pick命令的使用教程

    2023-02-11 00:33:57
  • Python-OpenCV基本操作方法详解

    2021-11-25 20:40:01
  • SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞

    2024-01-14 10:09:11
  • Python计算斗牛游戏概率算法实例分析

    2021-08-08 09:52:21
  • 学以致用 驳“ASP低能论”

    2007-09-30 13:01:00
  • Python 如何给图像分类(图像识别模型构建)

    2022-07-24 20:34:08
  • 基于JS+Canvas的lucky-canvas 抽奖功能

    2024-04-19 09:51:26
  • asp之家 网络编程 m.aspxhome.com