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

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


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



一、设计要求

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

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

  • 30
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米码收割机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值