将ideal中创建好的学生管理系统进行修改,将学生信息保存到mysql数据库中。程序每次启动时,从数据库中读出以前添加的学生信息。
时间: 2024-01-21 17:17:51 浏览: 65
好的,我们可以通过 Python 的 MySQL Connector 模块来实现将学生信息保存到 MySQL 数据库中,并在程序启动时从数据库中读取以前添加的学生信息的功能。
首先需要安装 MySQL Connector 模块,可以通过以下命令进行安装:
```
pip install mysql-connector-python
```
接着,我们需要先在 MySQL 数据库中创建一个名为 “students” 的表,表结构如下:
```
CREATE TABLE students (
id INT(11) NOT NULL,
name VARCHAR(255) NOT NULL,
age INT(11) NOT NULL,
gender VARCHAR(10) NOT NULL,
PRIMARY KEY (id)
);
```
然后,我们可以在 ideal 中进行修改,代码如下:
```python
import mysql.connector
# 连接 MySQL 数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 获取数据库中已有的学生信息
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM students")
students = mycursor.fetchall()
# 输出已有的学生信息
for student in students:
print(student)
# 添加学生信息到数据库中
def add_student():
id = int(input("请输入学生ID:"))
name = input("请输入学生姓名:")
age = int(input("请输入学生年龄:"))
gender = input("请输入学生性别:")
sql = "INSERT INTO students (id, name, age, gender) VALUES (%s, %s, %s, %s)"
val = (id, name, age, gender)
mycursor.execute(sql, val)
mydb.commit()
print("已成功添加学生信息!")
# 显示所有学生信息
def show_students():
mycursor.execute("SELECT * FROM students")
students = mycursor.fetchall()
for student in students:
print(student)
# 删除学生信息
def delete_student():
id = int(input("请输入要删除的学生ID:"))
sql = "DELETE FROM students WHERE id = %s"
val = (id,)
mycursor.execute(sql, val)
mydb.commit()
print("已成功删除学生信息!")
# 修改学生信息
def modify_student():
id = int(input("请输入要修改的学生ID:"))
name = input("请输入新的学生姓名:")
age = int(input("请输入新的学生年龄:"))
gender = input("请输入新的学生性别:")
sql = "UPDATE students SET name = %s, age = %s, gender = %s WHERE id = %s"
val = (name, age, gender, id)
mycursor.execute(sql, val)
mydb.commit()
print("已成功修改学生信息!")
# 主程序
while True:
print("请选择操作:")
print("1. 添加学生信息")
print("2. 显示所有学生信息")
print("3. 删除学生信息")
print("4. 修改学生信息")
print("0. 退出程序")
choice = int(input())
if choice == 1:
add_student()
elif choice == 2:
show_students()
elif choice == 3:
delete_student()
elif choice == 4:
modify_student()
elif choice == 0:
break
else:
print("无效的选择,请重新输入!")
# 关闭数据库连接
mydb.close()
```
需要注意的是,连接 MySQL 数据库时需要填写正确的数据库用户名、密码和数据库名称。
运行程序后,程序会从数据库中读取已有的学生信息并输出,然后可以选择添加、显示、删除或修改学生信息。每次添加、删除或修改学生信息后,都会将修改后的学生信息保存到 MySQL 数据库中。
阅读全文