用python制作学生信息管理系统
时间: 2023-08-26 18:12:02 浏览: 107
学生信息管理系统是一个包含了学生信息的数据库和一个管理界面的应用程序。以下是一个使用 Python 和 MySQL 数据库制作学生信息管理系统的基本步骤:
1. 安装 MySQL 数据库和 Python 相关模块
首先需要安装 MySQL 数据库和 Python 的相关模块,比如 `mysql-connector-python`、`tkinter` 等,这些模块可以使用 pip 进行安装。
2. 创建数据库和表格
使用 MySQL 数据库客户端创建一个名为 `students` 的数据库,并在其中创建一个名为 `info` 的表格,该表格包含了每个学生的学号、姓名、性别和年龄等信息。
3. 编写 Python 代码
使用 Python 编写一个图形化界面程序,用于管理学生信息。可以使用 Python 的 tkinter 模块创建一个基础界面,然后通过编写代码来实现增加、删除、修改和查询学生信息的功能。
以下是一个简单的示例代码:
```python
import mysql.connector
from tkinter import *
# 连接数据库
cnx = mysql.connector.connect(user='root', password='password',
host='localhost', database='students')
# 定义 GUI 界面
root = Tk()
root.title("学生信息管理系统")
root.geometry('500x300')
root.resizable(0, 0)
# 添加学生信息
def add():
cursor = cnx.cursor()
query = "INSERT INTO info (id, name, gender, age) VALUES (%s, %s, %s, %s)"
data = (id_entry.get(), name_entry.get(), gender_entry.get(), age_entry.get())
cursor.execute(query, data)
cnx.commit()
cursor.close()
clear()
messagebox.showinfo("提示", "添加成功!")
# 删除学生信息
def delete():
cursor = cnx.cursor()
query = "DELETE FROM info WHERE id=%s"
data = (id_entry.get(),)
cursor.execute(query, data)
cnx.commit()
cursor.close()
clear()
messagebox.showinfo("提示", "删除成功!")
# 修改学生信息
def update():
cursor = cnx.cursor()
query = "UPDATE info SET name=%s, gender=%s, age=%s WHERE id=%s"
data = (name_entry.get(), gender_entry.get(), age_entry.get(), id_entry.get())
cursor.execute(query, data)
cnx.commit()
cursor.close()
clear()
messagebox.showinfo("提示", "修改成功!")
# 查询学生信息
def query():
cursor = cnx.cursor()
query = "SELECT * FROM info WHERE id=%s"
data = (id_entry.get(),)
cursor.execute(query, data)
result = cursor.fetchone()
cursor.close()
clear()
if result:
id_entry.insert(0, result[0])
name_entry.insert(0, result[1])
gender_entry.insert(0, result[2])
age_entry.insert(0, result[3])
else:
messagebox.showinfo("提示", "未查询到该学生信息!")
# 清空学生信息
def clear():
id_entry.delete(0, END)
name_entry.delete(0, END)
gender_entry.delete(0, END)
age_entry.delete(0, END)
# 添加控件
id_label = Label(root, text="学号:")
id_entry = Entry(root)
name_label = Label(root, text="姓名:")
name_entry = Entry(root)
gender_label = Label(root, text="性别:")
gender_entry = Entry(root)
age_label = Label(root, text="年龄:")
age_entry = Entry(root)
id_label.grid(row=0, column=0)
id_entry.grid(row=0, column=1)
name_label.grid(row=1, column=0)
name_entry.grid(row=1, column=1)
gender_label.grid(row=2, column=0)
gender_entry.grid(row=2, column=1)
age_label.grid(row=3, column=0)
age_entry.grid(row=3, column=1)
add_btn = Button(root, text="添加", command=add)
delete_btn = Button(root, text="删除", command=delete)
update_btn = Button(root, text="修改", command=update)
query_btn = Button(root, text="查询", command=query)
clear_btn = Button(root, text="清空", command=clear)
add_btn.grid(row=4, column=0)
delete_btn.grid(row=4, column=1)
update_btn.grid(row=4, column=2)
query_btn.grid(row=5, column=0)
clear_btn.grid(row=5, column=1)
# 运行界面
root.mainloop()
```
上面的代码中,我们首先连接了名为 `students` 的 MySQL 数据库,并创建了一个基础的 GUI 界面。然后,我们定义了四个功能分别是添加学生信息、删除学生信息、修改学生信息和查询学生信息,每个功能对应一个按钮。最后,我们使用 `mainloop()` 方法来运行 GUI 界面。
当然,这只是一个简单的示例,实际应用时需要根据具体情况进行修改和完善。
阅读全文