以下是一个简单的学生信息管理系统的Python代码,使用Tkinter GUI库和MySQL数据库。这个系统允许您添加,更新,删除和查看学生信息
。
在开始之前,请确保你已安装必要的库,包括pymysql和tkinter。如果你还没有安装它们,您可以在终端中运行以下命令进行安装
:
pip install pymysql
sudo apt-get install python-tk
接下来是代码:
python
from tkinter import *
import pymysql
# 连接数据库
connection = pymysql.connect(
host="localhost",
user="root",
password="your_password",
database="students"
)
# 创建游标对象
cursor = connection.cursor()
# 创建GUI窗口
root = Tk()
root.title("学生信息管理系统")
# 标签和输入框
name_label = Label(root, text="姓名:")
name_label.grid(row=0, column=0, padx=10, pady=10)
name_entry = Entry(root)
name_entry.grid(row=0, column=1, padx=10, pady=10)
id_label = Label(root, text="学号:")
id_label.grid(row=1, column=0, padx=10, pady=10)
id_entry = Entry(root)
id_entry.grid(row=1, column=1, padx=10, pady=10)
major_label = Label(root, text="专业:")
major_label.grid(row=2, column=0, padx=10, pady=10)
major_entry = Entry(root)
major_entry.grid(row=2, column=1, padx=10, pady=10)
# 添加学生信息
def add_student():
name = name_entry.get()
student_id = id_entry.get()
major = major_entry.get()
# SQL查询语句
query = "INSERT INTO students (name, student_id, major) VALUES (%s, %s, %s)"
# 执行SQL查询
cursor.execute(query, (name, student_id, major))
提交更改
connection.commit()
# 清空输入框
name_entry.delete(0, END)
id_entry.delete(0, END)
major_entry.delete(0, END)
更新学生信息
def update_student():
name = name_entry.get()
student_id = id_entry.get()
major = major_entry.get()
# SQL查询语句
query = "UPDATE students SET name=%s, major=%s WHERE student_id=%s"
# 执行SQL查询
cursor.execute(query, (name, major, student_id))
# 提交更改
connection.commit()
# 清空输入框
name_entry.delete(0, END)
id_entry.delete(0, END)
major_entry.delete(0, END)
删除学生信息
def delete_student():
student_id = id_entry.get()
graphql
Copy code
# SQL查询语句
query = "DELETE FROM students WHERE student_id=%s"
# 执行SQL查询
cursor.execute(query, student_id)
# 提交更改
connection.commit()
# 清空输入框
name_entry.delete(0, END)
id_entry.delete(0, END)
major_entry.delete(0, END)
查看学生信息
def view_students():
# SQL查询语句
query = "SELECT * FROM students"
scss
Copy code
# 执行SQL查询
cursor.execute(query)
# 获取查询结果
results = cursor.fetchall()
# 在GUI窗口中显示结果
for i, row in enumerate(results):
name_label = Label(root, text=row[0])
name_label.grid(row=i+5, column=0, padx=10, pady=10)
id_label = Label(root, text=row[1])
id_label.grid(row=i+5, column=1, padx=10, pady=10)
major_label = Label(root, text=row[2])
major_label.grid(row=i+5, column=2, padx=10, pady=10)
添加按钮
add_button = Button(root, text="添加", command=add_student)
add_button.grid(row=3, column=0, padx=10, pady=10)
更新按钮
update_button = Button(root, text="更新", command=update_student)
update_button.grid(row=3, column=1, padx=10, pady=10)
删除按钮
delete_button = Button(root, text="删除", command=delete_student)
delete_button.grid(row=3, column=2, padx=10, pady=10)
查看按钮
view_button = Button(root, text="查看", command=view_students)
view_button.grid(row=4, column=1, padx=10, pady=10)
运行GUI窗口
root.mainloop()
关闭数据库连接
connection.close()
请注意,您需要将以下部分替换为自己的MySQL数据库信息:
```python
connection = pymysql.connect(
host="localhost",
user="root",
password="your_password",
database="students"
)
这个代码只是一个简单的例子,你可以根据自己的需求和实际情况对其进行修改和扩展。希望这可以帮助你开始编写自己的学生信息管理系统!