python 管理系统实现mysql交互的示例代码
作者:墨渊 发布时间:2024-01-28 16:30:52
标签:python,管理系统,mysql交互
没配置的可以看一下我上一篇
地址
开启小皮
数据库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()
来源:https://blog.csdn.net/qq_43233737/article/details/121625602


猜你喜欢
- 在一个项目中,制作呃echart图表的时候,遇到一个需求,需要从后端接口获取数据----售票员的姓名和业绩所以需要在订单表中,获取不同售票员
- 起因修改了表结构以后执行python3 manage.py migrate 报错:django.db.utils.OperationalEr
- 分页一般和表格一起用,分页链接作为表格的一部分,将分页链接封装成一个独立的组件,然后作为子组件嵌入到表格组件中,这样比较合理。效果:代码:1
- ACCESS数据库中Field对象的caption属性(也就是标题)是用来设置数据字段的标题,在正常的数据库设计中为了保持维护的便利性,许多
- 本文实例讲述了Python列表list内建函数用法。分享给大家供大家参考,具体如下:#coding=utf8'''&
- 1、字典的概念Python中的字典数据类型和现实中的字典很像,它是以键值对(键和值的组合)的方式把数据组织到一起,可以通过键找到与之对应的值
- 本文实例讲述了Python模块、包(Package)概念与用法。分享给大家供大家参考,具体如下:Python中”模块”的概念在开发中,我们会
- 内容摘要:本文介绍了对数据库的基本操作:数据记录筛选(select),更新数据库(update),删除记录(delete),添加数据记录(i
- SQL SERVER数据库进行备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误。我们应该如何解决
- 我页面上有控制了只能输入数字的控件,禁止了输入法切换的,但是搜狗的云输入却控制不了,有没有办法在页面里面禁止它运行啊?发现这玩意儿真的很讨厌
- mysql删除操作其实是假删除在 InnoDB 中,你的 delete 操作,并不会真的把数据删除,mysql 实际上只是给删除的数据打了个
- 今天以一个表单的自动提交,来进一步学习selenium的用法练习目标0)运用selenium启动firefox并载入指定页面(这部分可查看本
- 创建一个名为templatetags的python module。新建一个名为verbose_name.py的文件。from django
- 1. 排名函数与PARTITION BY --所有数据 SELECT * FROM dbo.student AS a INNER JOIN
- dataclass简介dataclass的定义位于PEP-557,根据定义一个dataclass是指“一个带有默认值的可变的namedtup
- MySQL是一个多线程的,结构化查询语言(SQL)数据库服务器。SQL在世界上是最流行的数据库语言。MySQL的执行性能非常高,运行速度非常
- 一、任务实现一个4 层的全连接网络实现二分类任务,网络输入节点数为2,隐藏层的节点数设计为:25,50,25,输出层2 个节点,分别表示属于
- 直接看代码using System;using System.Configuration;using MySql.Data.MySqlCli
- 阅读:Chapter 3 * 的表格“Misquotations are the only quotations tha are never
- 本文实例为大家分享了python实现五子棋游戏的具体代码,供大家参考,具体内容如下话不多说,直接上代码:全部工程文件,在GitHub:五子棋