学生数据库
设计一个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()
相似题推荐
下列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. 饼图 |
在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] |
下面代码的运行后输出JSON文件内容正确的是?( )
import json
stu = [{'name':“John”,'sex':“man”,“地址”:“渥太华”}]以Open(“stu.json”, “W”)作为输出文件:
json.dump(stu, outfile)
| A. [{'姓名':'约翰','性别':'男人','地址':'渥太华'}] |
B. {'名字':'约翰','性别':'男人','地址':'渥太华'} |
| C. ['名字':'约翰','性别':'男人','地址':'渥太华'] |
D. {['名字':'约翰','性别':'男人','地址':'渥太华']} |
李华正在开发一个图书管理系统,使用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() |
