创建一个数据库表,存储学生的姓名、学号、语文、数学、英语成绩,编写程序,实现对数据库的记录添加、删除、修改和查询功能。
时间: 2023-08-23 22:06:07 浏览: 107
首先,我们需要在MySQL中创建一个名为`students`的数据库,然后在该数据库中创建一个名为`scores`的表,包含学生的姓名、学号、语文、数学、英语成绩等字段。
```sql
CREATE DATABASE students;
USE students;
CREATE TABLE scores (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
student_id INT NOT NULL UNIQUE,
chinese INT NOT NULL,
math INT NOT NULL,
english INT NOT NULL
);
```
接着,我们可以编写一些Python代码来实现对该表的记录添加、删除、修改和查询功能。首先,需要安装`mysql-connector-python`模块,该模块可以用来连接MySQL数据库。
```python
import mysql.connector
# 连接MySQL数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="students"
)
# 获取游标
mycursor = mydb.cursor()
# 添加记录
def add_record(name, student_id, chinese, math, english):
sql = "INSERT INTO scores (name, student_id, chinese, math, english) VALUES (%s, %s, %s, %s, %s)"
val = (name, student_id, chinese, math, english)
mycursor.execute(sql, val)
mydb.commit()
print("Record inserted.")
# 删除记录
def delete_record(student_id):
sql = "DELETE FROM scores WHERE student_id = %s"
val = (student_id,)
mycursor.execute(sql, val)
mydb.commit()
print("Record deleted.")
# 修改记录
def update_record(student_id, field, value):
sql = "UPDATE scores SET {} = %s WHERE student_id = %s".format(field)
val = (value, student_id)
mycursor.execute(sql, val)
mydb.commit()
print("Record updated.")
# 查询记录
def query_record(student_id):
sql = "SELECT * FROM scores WHERE student_id = %s"
val = (student_id,)
mycursor.execute(sql, val)
result = mycursor.fetchone()
if result is not None:
print(result)
else:
print("No record found.")
```
使用上述代码,我们可以实现对数据库的记录添加、删除、修改和查询功能。例如,我们可以添加一个名为`Tom`,学号为`1001`,语文成绩为`80`,数学成绩为`90`,英语成绩为`85`的学生记录:
```python
add_record("Tom", 1001, 80, 90, 85)
```
我们还可以查询学号为`1001`的学生记录:
```python
query_record(1001)
```
如果需要修改学号为`1001`的学生的数学成绩为`95`,可以调用`update_record`函数:
```python
update_record(1001, "math", 95)
```
最后,如果需要删除学号为`1001`的学生记录,可以调用`delete_record`函数:
```python
delete_record(1001)
```
阅读全文