万卷网 > 题目详情
题型:编程题

学生数据库

设计一个SQLite数据库应用,实现以下功能:

创建一个名为students的表,该表具有id(主键,自增)、name、age和grade四个字段。

①插入5条学生记录。

②修改一个学生的年龄。

③删除一个学生记录。

④查询所有学生的信息。

请根据要求,补全代码。(本题无需运行通过,写入代码即可)


import sqlite3  

# 连接到SQLite数据库(如果数据库不存在,则会创建一个新的数据库)  

conn = sqlite3.connect('students.db')  

cursor =         ①        

  

# 创建students表  

cursor.execute('''CREATE TABLE IF NOT EXISTS students (  

    id INTEGER PRIMARY KEY AUTOINCREMENT,  

    name TEXT NOT NULL,  

    age INTEGER,  

    grade TEXT)  

''')  

  

# 插入5条学生记录  

students = [  

    ('Alice', 20, 'A'),  

    ('Bob', 22, 'B'),  

    ('Charlie', 19, 'C'),  

    ('David', 21, 'A'),  

    ('Eva', 23, 'B')  

    ]  

cursor.executemany('''INSERT INTO students (name, age, grade) VALUES (?, ?, ?)  

    ''',         ②        )  

# 修改一个学生的年龄(例如修改id为2的学生的年龄为24)  

cursor.execute("UPDATE students SET age = 24 WHERE id = 2")  

# 删除一个学生记录(例如删除id为3的学生)  

cursor.execute("DELETE FROM students WHERE id = 3")

        ③        

# 查询所有学生信息  

cursor.execute('SELECT * FROM students')  

print("所有学生信息:")  

for row in         ④        :

    print(row) 

# 关闭数据库连接  

conn.close()  

更新时间:2025-02-13 11:47:49 |
【知识点】 电子学会Python六级

相似题推荐

单选题

下列Python代码使用Matplotlib库绘制了一个什么样的图形?( )

import matplotlib.pyplot as plt  
x = [1, 2, 3, 4, 5]  
y = [1, 4, 9, 16, 25]  
plt.plot(x, y)  
plt.show()
A.

散点图

B.

折线图

C.

直方图

D.

饼图

2026-07-10
单选题

在Python中使用numpy.arange(5)创建数组,得到的结果是?( )

A.

[0 1 2 3 4 5]

B.

[1 2 3 4 5]

C.

[0 1 2 3 4]

D.

[5]

2026-07-10
单选题

下面代码的运行后输出JSON文件内容正确的是?( )

import json
stu = [{'name':“John”,'sex':“man”,“地址”:“渥太华”}]

以Open(“stu.json”, “W”)作为输出文件:

 json.dump(stu, outfile)

A.

[{'姓名':'约翰','性别':'男人','地址':'渥太华'}]

B.

{'名字':'约翰','性别':'男人','地址':'渥太华'}

C.

['名字':'约翰','性别':'男人','地址':'渥太华']

D.

{['名字':'约翰','性别':'男人','地址':'渥太华']}

2026-07-10
判断题

在Python中,要想将一个字符串写入一个文件,可以使用write方法,例如f.write('Hello, world!')。( )

A.正确 B.错误
2026-07-10
单选题

李华正在开发一个图书管理系统,使用SQLite数据库来存储图书信息。他需要编写代码来查询数据库,并根据不同的需求获取查询结果。假设他已经执行了一个查询语句来选择图书表(books)中的所有记录。现在,他面临三种不同的情况,每种情况需要使用不同的方法来获取数据:
1.获取查询结果的第一条记录。
2.获取查询结果的前三条记录。
3.获取查询结果中的所有记录。
请问,李华应该分别使用哪个游标对象的方法来满足上述每种情况的需求?( )

A.

fetchall()[0],fetchall[:3],fetchall()

B.

fetchfirst(),fetchfirst(3),fetchall()

C.

fetchone(),fetchmany(3),fetchall()

D.

getone(),getmany(3),getall()

2026-07-10
公众号
客服 反馈
顶部