如何使用Python实现学生管理系统?
时间: 2024-03-28 20:32:01 浏览: 108
python+学生管理系统设计
使用Python实现学生管理系统可以通过以下步骤进行:
1. 设计数据库结构:确定需要存储的学生信息,例如学号、姓名、年龄、性别等,并创建相应的数据库表。
2. 创建连接数据库的函数:使用Python的数据库模块(如MySQLdb、pymysql等)连接数据库,并返回连接对象。
3. 创建学生信息录入函数:通过用户输入学生信息,将信息插入到数据库中的学生表中。
4. 创建学生信息查询函数:根据学号或姓名等条件,从数据库中查询学生信息,并返回查询结果。
5. 创建学生信息修改函数:根据学号或姓名等条件,从数据库中查询学生信息,并提供修改选项,将修改后的信息更新到数据库中。
6. 创建学生信息删除函数:根据学号或姓名等条件,从数据库中删除学生信息。
7. 创建学生信息统计函数:统计数据库中学生的总人数、男女比例等信息。
8. 创建学生管理系统主函数:在主函数中,通过调用以上各个函数,实现学生管理系统的整体功能。
以下是一个简单的示例代码,用于演示如何使用Python实现学生管理系统:
```python
import pymysql
# 连接数据库
def connect_db():
conn = pymysql.connect(host='localhost', user='root', password='123456', database='student_db')
return conn
# 学生信息录入
def add_student():
conn = connect_db()
cursor = conn.cursor()
# 获取用户输入的学生信息
student_id = input("请输入学号:")
name = input("请输入姓名:")
age = input("请输入年龄:")
gender = input("请输入性别:")
# 将学生信息插入数据库
sql = "INSERT INTO student (student_id, name, age, gender) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, (student_id, name, age, gender))
conn.commit()
print("学生信息录入成功!")
cursor.close()
conn.close()
# 学生信息查询
def search_student():
conn = connect_db()
cursor = conn.cursor()
# 获取用户输入的查询条件
condition = input("请输入查询条件(学号或姓名):")
# 根据查询条件从数据库中查询学生信息
sql = "SELECT * FROM student WHERE student_id = %s OR name = %s"
cursor.execute(sql, (condition, condition))
result = cursor.fetchall()
# 打印查询结果
for row in result:
print("学号:", row[0])
print("姓名:", row[1])
print("年龄:", row[2])
print("性别:", row[3])
print("--")
cursor.close()
conn.close()
# 学生信息修改
def update_student():
conn = connect_db()
cursor = conn.cursor()
# 获取用户输入的修改条件
condition = input("请输入修改条件(学号或姓名):")
# 根据修改条件从数据库中查询学生信息
sql = "SELECT * FROM student WHERE student_id = %s OR name = %s"
cursor.execute(sql, (condition, condition))
result = cursor.fetchall()
# 打印查询结果
for row in result:
print("学号:", row[0])
print("姓名:", row[1])
print("年龄:", row[2])
print("性别:", row[3])
print("--")
# 获取用户输入的修改信息
student_id = input("请输入学号:")
name = input("请输入姓名:")
age = input("请输入年龄:")
gender = input("请输入性别:")
# 将修改后的信息更新到数据库中
sql = "UPDATE student SET student_id = %s, name = %s, age = %s, gender = %s WHERE student_id = %s OR name = %s"
cursor.execute(sql, (student_id, name, age, gender, condition, condition))
conn.commit()
print("学生信息修改成功!")
cursor.close()
conn.close()
# 学生信息删除
def delete_student():
conn = connect_db()
cursor = conn.cursor()
# 获取用户输入的删除条件
condition = input("请输入删除条件(学号或姓名):")
# 根据删除条件从数据库中删除学生信息
sql = "DELETE FROM student WHERE student_id = %s OR name = %s"
cursor.execute(sql, (condition, condition))
conn.commit()
print("学生信息删除成功!")
cursor.close()
conn.close()
# 学生信息统计
def count_student():
conn = connect_db()
cursor = conn.cursor()
# 统计学生总人数
sql = "SELECT COUNT(*) FROM student"
cursor.execute(sql)
result = cursor.fetchone()
total = result[0]
# 统计男女比例
sql = "SELECT COUNT(*) FROM student WHERE gender = '男'"
cursor.execute(sql)
result = cursor.fetchone()
male_count = result[0]
sql = "SELECT COUNT(*) FROM student WHERE gender = '女'"
cursor.execute(sql)
result = cursor.fetchone()
female_count = result[0]
print("学生总人数:", total)
print("男生人数:", male_count)
print("女生人数:", female_count)
cursor.close()
conn.close()
# 学生管理系统主函数
def student_management_system():
while True:
print("1. 学生信息录入")
print("2. 学生信息查询")
print("3. 学生信息修改")
print("4. 学生信息删除")
print("5. 学生信息统计")
print("0. 退出系统")
choice = input("请输入操作编号:")
if choice == '1':
add_student()
elif choice == '2':
search_student()
elif choice == '3':
update_student()
elif choice == '4':
delete_student()
elif choice == '5':
count_student()
elif choice == '0':
break
else:
print("输入有误,请重新输入!")
# 调用学生管理系统主函数
student_management_system()
```
阅读全文