一篇文章教你用Python实现一个学生管理系统
本文将会介绍如何使用Python语言实现一个简单的学生管理系统。该系统可以用来存储学生的基本信息(如姓名、年龄、性别、学号等)以及其它相关信息(如成绩、考勤等),并提供增、删、改、查等功能。
环境搭建
首先需要安装Python环境和相关的库文件。
可以在Python官网上下载并安装最新版本的Python。然后使用命令行工具(如cmd)输入以下命令安装所需库文件:
pip install pymysql prettytable
其中,pymysql库用于连接数据库,prettytable库用于美化表格输出。
数据库设计
在MySQL数据库中创建一个新的数据库,我们可以命名为“student”。
然后在该数据库中创建一张名为“studentInfo”的表,用于存储学生的基本信息。该表的结构如下:
CREATE TABLE studentInfo (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT(11) NOT NULL,
gender VARCHAR(10) NOT NULL,
student_id VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
实现代码
连接数据库
使用pymysql库来连接数据库,代码如下:
import pymysql
conn = pymysql.connect(
host='localhost', # 数据库服务器地址
user='root', # 数据库用户名
password='', # 数据库密码
db='student', # 数据库名字
charset='utf8mb4', # 字符集
cursorclass=pymysql.cursors.DictCursor
)
添加学生信息
将学生的基本信息保存到数据库中,代码如下:
def add_student():
name = input("请输入学生的姓名:")
age = input("请输入学生的年龄:")
gender = input("请输入学生的性别:")
student_id = input("请输入学生的学号:")
cursor = conn.cursor()
sql = "INSERT INTO studentInfo (name, age, gender, student_id) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, (name, age, gender, student_id))
conn.commit()
cursor.close()
print("添加成功!")
删除学生信息
从数据库中删除学生的信息,代码如下:
def delete_student():
student_id = input("请输入要删除的学生的学号:")
cursor = conn.cursor()
sql = "DELETE FROM studentInfo WHERE student_id=%s"
cursor.execute(sql, student_id)
conn.commit()
cursor.close()
print("删除成功!")
修改学生信息
修改学生的信息,代码如下:
def update_student():
student_id = input("请输入要修改的学生的学号:")
cursor = conn.cursor()
sql = "SELECT * FROM studentInfo WHERE student_id=%s"
cursor.execute(sql, student_id)
result = cursor.fetchone()
if result is None:
print("该学生不存在!")
else:
name = input("请输入学生的姓名:")
age = input("请输入学生的年龄:")
gender = input("请输入学生的性别:")
sql = "UPDATE studentInfo SET name=%s, age=%s, gender=%s WHERE student_id=%s"
cursor.execute(sql, (name, age, gender, student_id))
conn.commit()
cursor.close()
print("修改成功!")
查询学生信息
查询学生的信息,并以表格的形式输出结果,代码如下:
def query_student():
cursor = conn.cursor()
sql = "SELECT * FROM studentInfo"
cursor.execute(sql)
results = cursor.fetchall()
if len(results) == 0:
print("没有学生信息!")
else:
cols = ['id', '姓名', '年龄', '性别', '学号']
rows = []
for r in results:
row = [r['id'], r['name'], r['age'], r['gender'], r['student_id']]
rows.append(row)
table = prettytable.PrettyTable(cols)
table.add_rows(rows)
print(table)
示例说明
示例一
添加一个新的学生信息:
请输入学生的姓名:张三
请输入学生的年龄:18
请输入学生的性别:男
请输入学生的学号:001
添加成功!
查询所有学生的信息:
+----+------+----+------+--------+
| id | 姓名 | 年龄 | 性别 | 学号 |
+----+------+----+------+--------+
| 1 | 张三 | 18 | 男 | 001 |
+----+------+----+------+--------+
示例二
删除学号为“001”的学生信息:
请输入要删除的学生的学号:001
删除成功!
查询所有学生的信息:
没有学生信息!
总结
本文介绍了如何使用Python语言实现一个简单的学生管理系统。需要掌握的技能包括:连接数据库、添加、删除、修改、查询学生信息、以及使用prettytable库进行表格美化输出等。可以根据自己的需求进行扩展和优化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章教你用Python实现一个学生管理系统 - Python技术站