编程题

学生数据库

设计一个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()  

import sqlite3  
# 连接到SQLite数据库(如果数据库不存在,则会创建一个新的数据库)  
conn = sqlite3.connect('students.db')  
cursor = conn.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 (?, ?, ?)  
    ''', students)  
# 修改一个学生的年龄(例如修改id为2的学生的年龄为24)  
cursor.execute("UPDATE students SET age = 24 WHERE id = 2")  
# 删除一个学生记录(例如删除id为3的学生)  
cursor.execute("DELETE FROM students WHERE id = 3")  
conn.commit()  
# 查询所有学生信息  
cursor.execute('SELECT * FROM students')  
print("所有学生信息:")  
for row in cursor.fetchall():
    print(row) 
# 关闭数据库连接  
conn.close()
查看答案
赣ICP备20007335号-2