【python】python学生信息管理系统 ——数据库版(源码)【独一无二】

米码收割机 2024-07-13 11:35:03 阅读 56

请添加图片描述


👉博__主👈:米码收割机

👉技__能👈:C++/Python语言

👉公众号👈:测试开发自动化【获取源码+商业合作】

👉荣__誉👈:阿里云博客专家博主、51CTO技术博主

👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


【python】python学生信息管理系统 ——数据库版(源码)【独一无二】


目录

【python】python学生信息管理系统 ——数据库版(源码)【独一无二】一、设计要求二、功能展示1.添加学生信息2.查询学生信息3.修改学生信息4.删除学生信息5.统计学生信息6.导出学生信息7.退出

三、代码分析数据库连接模块数据库操作模块添加学生信息模块修改学生成绩模块删除学生信息模块查询学生信息模块统计信息模块导出学生信息到txt文件模块主程序模块


一、设计要求

实现学生管理系统,基于MySQL数据库。主要功能包括:

添加学生信息:用户可以输入学生姓名和成绩,将学生信息添加到数据库中。修改学生成绩:用户可以输入要修改成绩的学生ID以及新的成绩,然后更新数据库中对应学生的成绩。删除学生信息:用户可以输入要删除的学生ID,从数据库中删除对应的学生信息。查询学生信息:显示数据库中所有学生的ID、姓名和成绩。统计信息:计算数据库中学生的总人数、总分数、平均分数以及及格率,并将结果显示出来。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈

导出学生信息到txt文件:将数据库中的学生信息导出到名为"student_info.txt"的文本文件中。退出程序:退出学生管理系统。

这个系统允许用户对学生信息进行增删改查,并提供了一些统计功能和数据导出功能,以便进行学生信息的管理和分析。


二、功能展示

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈

1.添加学生信息

在这里插入图片描述

2.查询学生信息

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈

3.修改学生信息

在这里插入图片描述

4.删除学生信息

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈

在这里插入图片描述

5.统计学生信息

在这里插入图片描述

6.导出学生信息

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈

在这里插入图片描述

7.退出

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈


三、代码分析

数据库连接模块

<code># 连接MySQL数据库

db = pymysql.connect(

host="127.0.0.1",code>

user="root",code>

password="root",code>

database="univerxxxzsity"code>

)

这个模块负责连接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()函数启动学生管理系统。在主程序中,用户可以通过输入不同的选项来执行相应的操作,直到选择退出程序。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 学管数据库 ” 获取。👈👈👈



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。