用Python写一个数据库记录小明的成绩是65,小红的成绩是98
时间: 2024-10-20 18:12:37 浏览: 19
在Python中,我们可以使用sqlite3模块来创建一个小的数据库并插入一条学生成绩记录。假设我们有一个简单的`Students`表,包含`name`和`scores`两个字段,可以这样做:
```python
import sqlite3
# 连接到SQLite数据库 (如果不存在则会自动创建)
conn = sqlite3.connect('student_scores.db')
c = conn.cursor()
# 创建students表,如果没有就创建
c.execute('''CREATE TABLE IF NOT EXISTS students
(name TEXT, scores INTEGER)''')
# 插入小明的成绩
c.execute("INSERT INTO students VALUES ('小明', 65)")
# 插入小红的成绩
c.execute("INSERT INTO students VALUES ('小红', 98)")
# 提交事务
conn.commit()
# 关闭连接
conn.close()
```
现在,小明和小红的成绩已经存储在了`student_scores.db`数据库中。
相关问题
7、创建一个数据库表,存储学生的姓名、学号、语文、数学、英语成绩,编写程序,实现对数据库的记录添加、删除、修改和查询功能
首先需要安装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
```
用sql语句和python语句做出一个简易的高校宿舍管理系统
高校宿舍管理系统需要设计数据库模型,包括宿舍楼信息、房间信息、学生信息等。以下是一个简单的数据库模型设计:
- 宿舍楼表 dormitory_building:id、name、address、manager
- 房间表 room:id、building_id、room_number、number_of_beds、available_beds
- 学生表 student:id、name、gender、birthday、major、room_id
其中,dormitory_building 的 id 为主键,room 的 id 为主键,student 的 id 为主键,room 的 building_id 为外键,student 的 room_id 为外键。
接下来,我们可以使用 SQL 语句创建上述表格,并插入测试数据。
```sql
-- 创建宿舍楼表
CREATE TABLE dormitory_building (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
address VARCHAR(50) NOT NULL,
manager VARCHAR(50) NOT NULL
);
-- 创建房间表
CREATE TABLE room (
id INT PRIMARY KEY,
building_id INT NOT NULL,
room_number INT NOT NULL,
number_of_beds INT NOT NULL,
available_beds INT NOT NULL,
FOREIGN KEY (building_id) REFERENCES dormitory_building(id)
);
-- 创建学生表
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
birthday DATE NOT NULL,
major VARCHAR(50) NOT NULL,
room_id INT NOT NULL,
FOREIGN KEY (room_id) REFERENCES room(id)
);
-- 插入测试数据
INSERT INTO dormitory_building VALUES (1, '1号宿舍楼', 'XX路XX号', '张三');
INSERT INTO dormitory_building VALUES (2, '2号宿舍楼', 'XX路XX号', '李四');
INSERT INTO room VALUES (1, 1, 101, 4, 4);
INSERT INTO room VALUES (2, 1, 102, 4, 3);
INSERT INTO room VALUES (3, 2, 201, 4, 4);
INSERT INTO student VALUES (1, '小明', '男', '1999-01-01', '计算机科学', 1);
INSERT INTO student VALUES (2, '小红', '女', '1999-02-02', '数学', 1);
INSERT INTO student VALUES (3, '小张', '男', '1999-03-03', '物理', 2);
INSERT INTO student VALUES (4, '小李', '女', '1999-04-04', '化学', 3);
```
接下来,我们可以使用 Python 语句连接数据库,实现宿舍管理系统的基本功能,例如查询宿舍楼、查询房间、查询学生、分配房间等。
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('dormitory.db')
# 查询宿舍楼
def get_dormitory_building():
cursor = conn.execute('SELECT * FROM dormitory_building;')
for row in cursor:
print(row)
# 查询某个宿舍楼的房间
def get_room(building_id):
cursor = conn.execute('SELECT * FROM room WHERE building_id=?;', (building_id,))
for row in cursor:
print(row)
# 查询某个房间的学生
def get_student(room_id):
cursor = conn.execute('SELECT * FROM student WHERE room_id=?;', (room_id,))
for row in cursor:
print(row)
# 分配房间
def assign_room(student_id, room_id):
cursor = conn.execute('UPDATE student SET room_id=? WHERE id=?;', (room_id, student_id))
conn.commit()
print('分配成功!')
# 查询某个学生所在的房间
def get_student_room(student_id):
cursor = conn.execute('SELECT room.* FROM student JOIN room ON student.room_id=room.id WHERE student.id=?;', (student_id,))
for row in cursor:
print(row)
# 测试代码
get_dormitory_building()
get_room(1)
get_student(1)
assign_room(4, 1)
get_student_room(4)
# 关闭数据库连接
conn.close()
```
以上代码实现了查询宿舍楼、查询房间、查询学生、分配房间、查询学生所在的房间等功能,可以根据实际需求进行扩展和优化。
阅读全文