欢迎访问宙启技术站
智能推送

python+mysql实现教务管理系统

发布时间:2023-05-15 04:30:56

教务管理系统是面向学生、教师和管理人员的综合信息管理系统,用于管理学校的教学和学生管理工作。Python是一种强大的编程语言,MySQL是一种流行的关系型数据库管理系统。本文将介绍如何使用Python和MySQL实现教务管理系统。

设计概述

本教务管理系统主要由学生信息管理、教师信息管理、学生选课管理和成绩管理四部分组成。其中,学生信息包括学生基本信息、选课信息和成绩信息;教师信息包括教师基本信息和授课信息;学生选课管理包括学生选课和退课;成绩管理包括成绩录入、修改和查询。整个系统包含多个表,主要包括学生表、教师表、课程表、选课表和成绩表。

技术采用

本系统采用Python语言和MySQL数据库实现。Python是一种高级编程语言,有着简单易学、高效、动态等优点,并且有着强大的科学计算和数据处理能力。MySQL是一种流行的关系型数据库管理系统,可用于存储、管理和查询数据。它简单易用,并且具有高效、安全等优点。

实现步骤

1.数据库设计

设计数据库时可以使用MySQL Workbench,这是一个流行的数据库建模工具。建立学生表、教师表、课程表、选课表和成绩表,表中包含各要素属性名,类型和长度,可以在每个表的主键进行标注。

2.PyMySQL连接数据库

在 Python 中使用 PyMySQL 模块连接到数据库,并创建一个数据库对象。可以在Python中使用以下命令行:

import pymysql

# 连接到数据库
db = pymysql.connect(host="localhost", user="root", password="123456", db="schoolDB", charset="utf8mb4")

# 创建一个游标对象
cursor = db.cursor()

3.添加学生信息

输入学生信息时,可以使用insert语句将信息插入到学生表中。可以使用以下命令行实现:

# 添加学生信息到学生表
sql = "INSERT INTO student(name, gender, department, major, grade, college, birthday, phone, email) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s)"
values = (name, gender, department, major, grade, college, birthday, phone, email)
cursor.execute(sql, values)
db.commit()

4.添加教师信息

添加教师信息时,也可以使用insert语句将信息插入到教师表中。可以使用以下命令行实现:

# 添加教师信息到教师表
sql = "INSERT INTO teacher(name, gender, department, phone, email) VALUES (%s,%s,%s,%s,%s)"
values = (name, gender, department, phone, email)
cursor.execute(sql, values)
db.commit()

5.学生选课

学生选课时,可以在选课表中添加一条记录。可以使用以下命令行实现:

# 学生选课
sql = "INSERT INTO s_c(s_id, c_id) VALUES (%s,%s)"
values = (s_id, c_id)
cursor.execute(sql, values)
db.commit()

6.录入成绩

成绩录入时,可以在成绩表中添加一条记录。可以使用以下命令行实现:

# 成绩录入
sql = "INSERT INTO score(s_id, c_id, score) VALUES (%s,%s,%s)"
values = (s_id, c_id, score)
cursor.execute(sql, values)
db.commit()

7.修改成绩

修改成绩时,可以通过UPDATE语句修改成绩表中的记录。可以使用以下命令行实现:

# 修改成绩
sql = "UPDATE score SET score=%s WHERE s_id=%s AND c_id=%s"
values = (newScore, s_id, c_id)
cursor.execute(sql, values)
db.commit()

8.查询成绩

成绩查询时,可以通过SELECT语句从成绩表中查询记录。可以使用以下命令行实现:

# 查询成绩
sql = "SELECT s.name, c.name, sc.score FROM student s, course c, s_c sc, score scc WHERE s.id=sc.s_id AND c.id=sc.c_id AND s.id=scc.s_id AND c.id=scc.c_id AND s.id=%s"
value = (s_id,)
cursor.execute(sql, value)
result = cursor.fetchall()

实现效果

本Python MySQL教务管理系统实现主要功能:学生信息管理、教师信息管理、学生选课管理和成绩管理。用到的模块有Pymysql,通过连接到MySQL数据服务接口,建立一个数据库,通过方式可以同时增加多个表。

总结

Python MySQL教务管理系统是一个简单实用的教学管理系统,不仅展示了Python和MySQL处理数据和存储数据的优势,同学也可以通过操作学习到Python和MySQL数据库的基础知识。