7、创建一个数据库表,存储学生的姓名、学号、语文、数学、英语成绩,编写程序,实现对数据库的记录添加、删除、修改和查询功能
时间: 2023-08-23 11:05:07 浏览: 110
学生成绩管理系统 c语言实现
首先需要安装Python的数据库操作包,如`pymysql`或`sqlite3`等。这里以`sqlite3`为例,演示如何创建一个学生成绩表,并实现添加、删除、修改和查询功能。
```python
import sqlite3
# 连接数据库,如果不存在则创建
conn = sqlite3.connect('students.db')
# 创建数据库表
conn.execute('''CREATE TABLE IF NOT EXISTS STUDENTS
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
CHINESE INT NOT NULL,
MATH INT NOT NULL,
ENGLISH INT NOT NULL);''')
# 添加记录
def add_record(conn, id, name, chinese, math, english):
conn.execute(f"INSERT INTO STUDENTS (ID,NAME,CHINESE,MATH,ENGLISH) \
VALUES ({id}, '{name}', {chinese}, {math}, {english})")
conn.commit()
print("记录添加成功!")
# 删除记录
def delete_record(conn, id):
conn.execute(f"DELETE from STUDENTS where ID = {id};")
conn.commit()
print("记录删除成功!")
# 修改记录
def update_record(conn, id, name, chinese, math, english):
conn.execute(f"UPDATE STUDENTS set NAME='{name}', CHINESE={chinese}, MATH={math}, ENGLISH={english} where ID={id};")
conn.commit()
print("记录修改成功!")
# 查询记录
def query_record(conn):
cursor = conn.execute("SELECT ID, NAME, CHINESE, MATH, ENGLISH from STUDENTS")
for row in cursor:
print("ID = ", row[0])
print("NAME = ", row[1])
print("CHINESE = ", row[2])
print("MATH = ", row[3])
print("ENGLISH = ", row[4], "\n")
# 测试代码
add_record(conn, 1, "小明", 80, 90, 70)
add_record(conn, 2, "小红", 70, 85, 80)
query_record(conn)
update_record(conn, 2, "小兰", 75, 90, 85)
query_record(conn)
delete_record(conn, 1)
query_record(conn)
# 关闭数据库连接
conn.close()
```
上述代码创建了一个名为`STUDENTS`的表,包含了学生的ID、姓名和三科成绩。`add_record`函数用于添加一条学生成绩记录,`delete_record`函数用于删除一条记录,`update_record`函数用于修改一条记录,`query_record`函数用于查询所有学生的成绩记录。在测试代码部分,我们先添加两条记录,然后查询所有学生的记录,接着修改一条记录,再次查询所有记录,最后删除一条记录并再次查询所有记录。执行上述代码,输出结果如下:
```
记录添加成功!
记录添加成功!
ID = 1
NAME = 小明
CHINESE = 80
MATH = 90
ENGLISH = 70
ID = 2
NAME = 小红
CHINESE = 70
MATH = 85
ENGLISH = 80
记录修改成功!
ID = 1
NAME = 小明
CHINESE = 80
MATH = 90
ENGLISH = 70
ID = 2
NAME = 小兰
CHINESE = 75
MATH = 90
ENGLISH = 85
记录删除成功!
ID = 2
NAME = 小兰
CHINESE = 75
MATH = 90
ENGLISH = 85
```
阅读全文