测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A21873. 数据库操作编写一个Python程序,实现以下功能:(1)连接到SQLite数据库company.db;(2)创建一个名为"employees"的表,包含id(主键)、name、salary字段;(3)插入3条员工记录;(4)查询并打印所有salary大于5000的员工;(5)更新其中一条记录的salary;(6)删除一条记录。请根据要求,补全代码。(本题无需运行通过,写入代码即可)import …

填空题 困难

题目描述

数据库操作

编写一个Python程序,实现以下功能:

(1)连接到SQLite数据库company.db;

(2)创建一个名为"employees"的表,包含id(主键)、name、salary字段;

(3)插入3条员工记录;

(4)查询并打印所有salary大于5000的员工;

(5)更新其中一条记录的salary;

(6)删除一条记录。

请根据要求,补全代码。

(本题无需运行通过,写入代码即可)

import sqlite3
conn = sqlite3. _______①________('company.db')      
cursor = conn.cursor()
cursor.execute('''
    CREATE TABLE IF NOT EXISTS employees (
        id id INTEGER PRIMARY KEY,                    
        name TEXT NOT NULL,
        salary REAL
    )
''')
_______② __________               
cursor.executemany('INSERT INTO employees VALUES(?,?,?)'',_________③_________)         
conn.commit()
print("薪资大于5000的员工:")
cursor.execute('SELECT * FROM employees 
WHERE ________④ ________')            
for row in  ________⑤__________:
    print(row)
cursor.execute('  UPDATE employees SET salary = 5500 WHERE id = 1')    
conn.commit()
cursor.execute('DELETE FROM employees WHERE id = 2')               
conn.commit()
conn.close() 

参考答案

import sqlite3 conn = sqlite3.connect('company.db')         cursor = conn.cursor() cursor.execute('''     CREATE TABLE IF NOT EXISTS employees (         id INTEGER PRIMARY KEY,                             name TEXT NOT NULL,         salary REAL     ) ''') employees = [     (1, '张三', 6000),     (2, '李四', 4500),     (3, '王五', 8000) ] cursor.executemany('INSERT INTO employees VALUES(?,?,?)', employees)    conn.commit() print("薪资大于5000的员工:") cursor.execute('SELECT * FROM employees WHERE salary > 5000')           for row in cursor.fetchall() :     print(row) cursor.execute('UPDATE employees SET salary = 5500 WHERE id = 1')     conn.commit() cursor.execute('DELETE FROM employees WHERE id = 2')                 conn.commit() conn.close()  

答案解析

评分标准:

(1)connect(或等效答案);(2分)

(2)employees = [(1, '张三', 6000), (2, '李四', 4500),(3, '王五', 8000)](或等效答案);(2分)

(3)employees(或等效答案);(2分)

(4)salary > 5000(或等效答案);(2分)

(5)cursor.fetchall()(或等效答案)(2分)

上一题 下一题