基于 Python 和 MySQL 的学生管理系统设计与实现
学生管理系统是一种管理学生信息的工具,可以用来管理学生的基本信息、课程信息、考试成绩等。本文利用 Python 编程语言和 MySQL 数据库,建立了一套简单的学生管理系统。
一、需求分析
学生管理系统应该具备以下功能:
1、学生信息管理:包括学生基本信息、课程信息、考试成绩等。
2、课程管理:包括课程名称、课程编号、授课教师、授课时间等。
3、成绩管理:包括学生考试成绩录入、成绩查询、成绩统计等。
二、技术选型
Python 是一种简单易学的编程语言,具有开源、跨平台、易读易写等优势,适合快速开发小型应用程序。MySQL 是一种常用的关系型数据库,具有开源、高性能、安全稳定等特点,适合存储大量数据。
三、系统设计
1、数据库设计
本系统包含三个表:学生表、课程表和成绩表。学生表包含学生基本信息,课程表包含课程信息,成绩表包含学生考试成绩信息。三个表之间通过外键关联。
2、程序设计
本系统采用面向对象编程思想,包含学生类、课程类和成绩类,通过类的方法实现系统功能。程序中使用 pymysql 库连接 MySQL 数据库,通过 SQL 语句实现数据的增加、删除、修改和查询等操作。
四、系统实现
1、数据库连接
使用 pymysql 库连接 MySQL 数据库,示例代码如下:
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456', db='test', port=3306, charset='utf8')
# 创建游标
cursor = db.cursor()
2、数据增加
使用 SQL 语句实现数据的增加,示例代码如下:
# 学生表插入数据
sql = "insert into student (id, name, age, gender, major) values ('1001', '张三', 20, '男', '计算机科学')"
cursor.execute(sql)
db.commit()
# 课程表插入数据
sql = "insert into course (id, name, teacher, time) values ('C001', '高等数学', '李老师', '周一第1、2节')"
cursor.execute(sql)
db.commit()
# 成绩表插入数据
sql = "insert into score (sid, cid, score) values ('1001', 'C001', 85)"
cursor.execute(sql)
db.commit()
3、数据查询
使用 SQL 语句实现数据的查询,示例代码如下:
# 查询学生表所有数据
sql = "select * from student"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
age = row[2]
gender = row[3]
major = row[4]
print("id=%s,name=%s,age=%d,gender=%s,major=%s" % (id, name, age, gender, major))
# 查询课程表所有数据
sql = "select * from course"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
id = row[0]
name = row[1]
teacher = row[2]
time = row[3]
print("id=%s,name=%s,teacher=%s,time=%s" % (id, name, teacher, time))
# 查询成绩表所有数据
sql = "select * from score"
cursor.execute(sql)
results = cursor.fetchall()
for row in results:
sid = row[0]
cid = row[1]
score = row[2]
print("sid=%s,cid=%s,score=%d" % (sid, cid, score))
4、数据修改
使用 SQL 语句实现数据的修改,示例代码如下:
# 修改学生表数据
sql = "update student set age = 21 where id='1001'"
cursor.execute(sql)
db.commit()
# 修改成绩表数据
sql = "update score set score = 90 where sid='1001' and cid='C001'"
cursor.execute(sql)
db.commit()
5、数据删除
使用 SQL 语句实现数据的删除,示例代码如下:
# 删除学生表数据
sql = "delete from student where id='1001'"
cursor.execute(sql)
db.commit()
# 删除成绩表数据
sql = "delete from score where sid='1001' and cid='C001'"
cursor.execute(sql)
db.commit()
五、系统测试
编写测试程序,测试系统功能是否正常。
1、测试数据增加功能,插入一条学生信息、一条课程信息和一条成绩信息。
2、测试数据查询功能,查询学生表、课程表和成绩表所有数据。
3、测试数据修改功能,修改学生表和成绩表数据。
4、测试数据删除功能,删除学生表和成绩表数据。
六、总结
本文利用 Python 编程语言和 MySQL 数据库,建立了一套简单的学生管理系统,包含学生信息管理、课程管理和成绩管理等功能。通过本文的学习,可以了解 Python 和 MySQL 的基本操作,学习如何使用 Python 编写数据库应用程序。
原文地址: https://www.cveoy.top/t/topic/m98R 著作权归作者所有。请勿转载和采集!