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

news/2024/10/19 5:26:31/

请添加图片描述


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


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


目录

  • pythonpython学生信息管理系统 ——数据库版(源码)【独一无二】
  • 一、设计要求
  • 二、功能展示
    • 1.添加学生信息
    • 2.查询学生信息
    • 3.修改学生信息
    • 4.删除学生信息
    • 5.统计学生信息
    • 6.导出学生信息
    • 7.退出
  • 三、代码分析
      • 数据库连接模块
      • 数据库操作模块
      • 添加学生信息模块
      • 修改学生成绩模块
      • 删除学生信息模块
      • 查询学生信息模块
      • 统计信息模块
      • 导出学生信息到txt文件模块
      • 主程序模块


一、设计要求

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

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

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

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

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


二、功能展示

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

1.添加学生信息

在这里插入图片描述

2.查询学生信息

在这里插入图片描述

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

3.修改学生信息

在这里插入图片描述

4.删除学生信息

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

在这里插入图片描述

5.统计学生信息

在这里插入图片描述

6.导出学生信息

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

在这里插入图片描述

7.退出

在这里插入图片描述

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


三、代码分析

数据库连接模块

python"># 连接MySQL数据库
db = pymysql.connect(host="127.0.0.1",user="root",password="root",database="univerxxxzsity"
)

这个模块负责连接MySQL数据库,需要提供主机名、用户名、密码和数据库名。这里使用了pymysql库来连接MySQL数据库

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

数据库操作模块

python"># 创建学生成绩表
cursor.execute("CRE# 代码略.....255), score INT)")

这个模块负责在数据库中创建学生成绩表。表的字段包括学生ID(自增主键)、姓名和成绩。

添加学生信息模块

python">def add_student():name = input("请输入学生姓名: ")score = int(input("请输入学生成绩: "))cursor.execute("xxxxxxx代码略..xxxxxxxx", (name, score))db.commit()print("学生信息添加成功!")

这个模块用于向数据库中添加新的学生信息。首先,从用户处获取学生姓名和成绩,然后执行SQL语句将学生信息插入到数据库中,并通过db.commit()提交事务。

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

修改学生成绩模块

python">def update_student():student_id = int(input("请输入要修改的学生ID: "))# 代码略.....# 代码略.....db.commit()print("学生成绩修改成功!")

这个模块用于修改数据库中学生的成绩信息。用户需要输入要修改成绩的学生ID以及新的成绩,然后执行SQL语句更新数据库中对应学生的成绩。

删除学生信息模块

python">def delete_student():student_id = int(input("请输入要删除的学生ID: "))cursor.execute("DELxxxxxxx代码略..xxxxxxxxs", (student_id,))db.commit()print("学生信息删除成功!")

这个模块用于从数据库中删除学生信息。用户需要输入要删除的学生ID,然后执行SQL语句从数据库中删除对应的学生信息。

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

查询学生信息模块

python">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、姓名和成绩。

统计信息模块

python">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文件模块

python">def export_to_txt():cursor.execute("SELECT * FROM students")students = cursor.fetchall()with open("student_info.txt", "w") as file:# 代码略.....# 代码略.....# 代码略.....

这个模块用于将数据库中的学生信息导出到名为"student_info.txt"的文本文件中。首先,执行SQL语句获取所有学生信息,然后将结果逐行写入文本文件中。

主程序模块

python">if __name__ == "__main__":main()

这个模块包含了主程序的入口点,调用main()函数启动学生管理系统。在主程序中,用户可以通过输入不同的选项来执行相应的操作,直到选择退出程序。

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


http://www.ppmy.cn/news/1432839.html

相关文章

基于springboot的古典舞在线交流平台源码数据库

基于springboot的古典舞在线交流平台源码数据库 随着互联网技术的发展,各类网站应运而生,网站具有新颖、展现全面的特点。因此,为了满足用户古典舞在线交流的需求,特开发了本古典舞在线交流平台。 本古典舞在线交流平台应用Java…

Layer Aware Microservice Placement and Request Scheduling at the Edge——论文泛读

IEEE INFOCOM 2021 Paper 论文阅读笔记整理 问题 基于容器的微服务已经成为促进边缘计算弹性的一种很有前途的技术,与重型虚拟机(VM)不同,容器与底层主机共享操作系统内核,从而能够以更低的开销更快地启动服务。 基…

DRF 异常处理源码分析

异常处理源码分析 【1】为什么要异常处理 前端开发中,后端返回统一格式的错误信息有助于前端更方便地处理错误。全局异常处理是后端开发中一种统一处理异常的方式,通过配置或继承等方式实现自定义异常处理逻辑,而不是直接修改源码中的异常处…

【LeetCode热题100】【动态规划】分割等和子集

题目链接:416. 分割等和子集 - 力扣(LeetCode) 判断数组能否被分成两个和相等的子数组,先求数组的和sum,即变成能不能找到一个组合的和是sum/2,每个数最多只能被选择一次,即0-1背包问题 0-1背…

【机器学习】机器学习学习笔记 - 数据预处理 - 01

machine learning 监督学习: 是指在有标记的样本(labeled samples)上建立机器学习的模型无监督学习: 是指在没有标记的样本上建立机器学习的模型semi-supervised learning: 是指在部分标记样本上建立机器学习的模型强化学习: 是指在与环境交互的过程中&…

.NET Core 中的 ORM 框架对比

在 .NET Core 中选择正确的对象关系映射 (ORM) 工具可能是开发生命周期中的关键决策。所选的 ORM 会影响应用程序的性能、可维护性和可伸缩性。在本文中,我们将深入分析三个突出的 ORM 选择:Entity Framework Core、Dapper 和 NHi…

js随机内容学习

public 与private 分配的内存是否相同? 内存分配是一样的,都属于动态分配内存,只是对于安全上面以及访问权限控制上有区别 类型不相同分配内存相同吗? 在类型上分配的内存是有区别的,比如 Array、ArrayBuffer和Float32Array等 在 JavaScr…

翻页电子图书制作小技巧分享给你

当今社会,二维码已经成为了信息传递的重要方式之一,其在电子商务、广告营销、活动推广等领域广泛应用。而如何将二维码巧妙地融入电子画册中,制作出高端、具有吸引力的作品,成为了许多设计师和营销人员关注的焦点 但是很多人却不知…