你能给我一个有界面的python+mysql的学生管理实例吗
时间: 2023-06-24 07:05:19 浏览: 51
当然可以,下面是一个简单的基于Python和MySQL的学生管理系统示例:
首先,需要安装MySQL和Python的pymysql模块。可以使用以下命令来安装:
```
pip install pymysql
```
然后,创建一个名为“students”的MySQL数据库,并在其中创建一个名为“students”的表,该表包含以下字段:
- id:学生ID,自增长。
- name:学生姓名。
- age:学生年龄。
- gender:学生性别。
- grade:学生成绩。
下面是创建表的SQL语句:
```mysql
CREATE TABLE students (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT(3) NOT NULL,
gender VARCHAR(10) NOT NULL,
grade FLOAT NOT NULL,
PRIMARY KEY (id)
);
```
接下来,创建一个名为“student_management.py”的Python文件,其中包含以下代码:
```python
import pymysql
# 数据库连接信息
HOST = 'localhost'
USER = 'root'
PASSWORD = 'password'
DATABASE = 'students'
# 连接数据库
def connect_db():
conn = pymysql.connect(host=HOST, user=USER, password=PASSWORD, database=DATABASE)
return conn
# 新增学生
def add_student(name, age, gender, grade):
conn = connect_db()
cursor = conn.cursor()
sql = "INSERT INTO students (name, age, gender, grade) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, (name, age, gender, grade))
conn.commit()
cursor.close()
conn.close()
# 查询学生
def search_student(name):
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT * FROM students WHERE name LIKE %s"
cursor.execute(sql, ('%' + name + '%',))
result = cursor.fetchall()
cursor.close()
conn.close()
return result
# 修改学生信息
def update_student(id, name, age, gender, grade):
conn = connect_db()
cursor = conn.cursor()
sql = "UPDATE students SET name = %s, age = %s, gender = %s, grade = %s WHERE id = %s"
cursor.execute(sql, (name, age, gender, grade, id))
conn.commit()
cursor.close()
conn.close()
# 删除学生
def delete_student(id):
conn = connect_db()
cursor = conn.cursor()
sql = "DELETE FROM students WHERE id = %s"
cursor.execute(sql, (id,))
conn.commit()
cursor.close()
conn.close()
# 显示所有学生信息
def show_all_students():
conn = connect_db()
cursor = conn.cursor()
sql = "SELECT * FROM students"
cursor.execute(sql)
result = cursor.fetchall()
cursor.close()
conn.close()
return result
# 主函数
if __name__ == '__main__':
while True:
print('''
学生管理系统
1. 新增学生
2. 查询学生
3. 修改学生信息
4. 删除学生
5. 显示所有学生信息
6. 退出系统
''')
choice = input('请输入操作编号:')
if choice == '1':
name = input('请输入学生姓名:')
age = input('请输入学生年龄:')
gender = input('请输入学生性别:')
grade = input('请输入学生成绩:')
add_student(name, age, gender, grade)
print('新增学生成功!')
elif choice == '2':
name = input('请输入要查询的学生姓名:')
result = search_student(name)
print('查询结果如下:')
for row in result:
print(row)
elif choice == '3':
id = input('请输入要修改的学生ID:')
name = input('请输入修改后的学生姓名:')
age = input('请输入修改后的学生年龄:')
gender = input('请输入修改后的学生性别:')
grade = input('请输入修改后的学生成绩:')
update_student(id, name, age, gender, grade)
print('修改学生信息成功!')
elif choice == '4':
id = input('请输入要删除的学生ID:')
delete_student(id)
print('删除学生成功!')
elif choice == '5':
result = show_all_students()
print('所有学生信息如下:')
for row in result:
print(row)
elif choice == '6':
print('感谢使用学生管理系统,再见!')
break
else:
print('输入有误,请重新输入!')
```
注意,需要将HOST、USER和PASSWORD替换为自己的MySQL数据库连接信息。
现在运行“student_management.py”文件,即可启动学生管理系统。可以按照提示进行相应操作,例如新增、查询、修改、删除和显示所有学生信息。