一、设计要求
实现学生管理系统,基于MySQL数据库。主要功能包括:
1.添加学生信息:用户可以输入学生姓名和成绩,将学生信息添加到数据库中。
2.修改学生成绩:用户可以输入要修改成绩的学生ID以及新的成绩,然后更新数据库中对应学生的成绩。
3.删除学生信息:用户可以输入要删除的学生ID,从数据库中删除对应的学生信息。
4.查询学生信息:显示数据库中所有学生的ID、姓名和成绩。
5.统计信息:计算数据库中学生的总人数、总分数、平均分数以及及格率,并将结果显示出来。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
6.导出学生信息到txt文件:将数据库中的学生信息导出到名为"student_info.txt"的文本文件中。
7.退出程序:退出学生管理系统。
这个系统允许用户对学生信息进行增删改查,并提供了一些统计功能和数据导出功能,以便进行学生信息的管理和分析。
二、功能展示
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
1.添加学生信息
2.查询学生信息
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
3.修改学生信息
4.删除学生信息
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
5.统计学生信息
6.导出学生信息
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
7.退出
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
三、代码分析
数据库连接模块
# 连接MySQL数据库 db = pymysql.connect( host="127.0.0.1", user="root", password="root", database="univerxxxzsity" )
这个模块负责连接MySQL数据库,需要提供主机名、用户名、密码和数据库名。这里使用了pymysql
库来连接MySQL数据库。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
数据库操作模块
# 创建学生成绩表 cursor.execute("CRE# 代码略.....255), score INT)")
这个模块负责在数据库中创建学生成绩表。表的字段包括学生ID(自增主键)、姓名和成绩。
添加学生信息模块
def add_student(): name = input("请输入学生姓名: ") score = int(input("请输入学生成绩: ")) cursor.execute("xxxxxxx代码略..xxxxxxxx", (name, score)) db.commit() print("学生信息添加成功!")
这个模块用于向数据库中添加新的学生信息。首先,从用户处获取学生姓名和成绩,然后执行SQL语句将学生信息插入到数据库中,并通过db.commit()提交事务。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
修改学生成绩模块
def update_student(): student_id = int(input("请输入要修改的学生ID: ")) # 代码略..... # 代码略..... db.commit() print("学生成绩修改成功!")
这个模块用于修改数据库中学生的成绩信息。用户需要输入要修改成绩的学生ID以及新的成绩,然后执行SQL语句更新数据库中对应学生的成绩。
删除学生信息模块
def delete_student(): student_id = int(input("请输入要删除的学生ID: ")) cursor.execute("DELxxxxxxx代码略..xxxxxxxxs", (student_id,)) db.commit() print("学生信息删除成功!")
这个模块用于从数据库中删除学生信息。用户需要输入要删除的学生ID,然后执行SQL语句从数据库中删除对应的学生信息。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
查询学生信息模块
def query_students(): cursor.execute("SELECT * FROM students") students = cursor.fetchall() if not students: print("没有学生信息.") else: print("学生信息如下:") for student in students: print(f"ID: {student[0]}, 姓名: {student[1]}, 成绩: {student[2]}")
这个模块用于查询数据库中所有学生的信息,并将结果显示出来。执行SQL语句获取所有学生信息后,遍历结果集并逐条输出学生的ID、姓名和成绩。
统计信息模块
def calculate_statistics(): cursor.execute("SELxxxxxxx代码略..xxxxxxxxents") total_students = cursor.fetchone()[0] # 代码略..... # 代码略..... # 代码略..... print(f"总学生人数: {total_students}") print(f"总分: {total_score}") print(f"平均分: {average_score:.2f}") print(f"及格率: {passing_rate:.2f}%")
这个模块用于计算数据库中学生的统计信息,包括总学生人数、总分数、平均分数以及及格率。通过执行多个SQL语句获取所需数据,然后进行相应的计算并输出结果。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈
导出学生信息到txt文件模块
def export_to_txt(): cursor.execute("SELECT * FROM students") students = cursor.fetchall() with open("student_info.txt", "w") as file: # 代码略..... # 代码略..... # 代码略.....
这个模块用于将数据库中的学生信息导出到名为"student_info.txt"的文本文件中。首先,执行SQL语句获取所有学生信息,然后将结果逐行写入文本文件中。
主程序模块
if __name__ == "__main__": main()
这个模块包含了主程序的入口点,调用main()
函数启动学生管理系统。在主程序中,用户可以通过输入不同的选项来执行相应的操作,直到选择退出程序。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈