(1) 创建一个example.db的数据库文件,然后执行SQL语句可创建一个 user(用户表),user表包含id和name两个字段; (2) 向user表中插入5条用户信息; (3) 分别使用fetchone、fetchmany和fetchall这3种方式查询用户信息; (4) 将SQLite数据库中user表ID为1的数据name字段值修改为“First”,并使用fetchall获取表中的所有数据; (5) 将SQLite数据库中user表ID为1,2,3的数据删除,并使用fetchAll获取表中所有数据,查看删除后的结果。
时间: 2024-02-29 22:51:34 浏览: 79
下面是基于SQLite数据库的Python实现,实现上述要求:
```python
import sqlite3
# 创建数据库连接
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建用户表
cursor.execute('''CREATE TABLE user
(id INTEGER PRIMARY KEY, name TEXT)''')
# 向用户表中插入5条数据
users = [(1, 'Alice'), (2, 'Bob'), (3, 'Charlie'), (4, 'David'), (5, 'Eva')]
cursor.executemany('INSERT INTO user VALUES (?, ?)', users)
# 查询用户信息
cursor.execute('SELECT * FROM user')
print('\nfetchall:')
print(cursor.fetchall())
cursor.execute('SELECT * FROM user')
print('\nfetchone:')
print(cursor.fetchone())
cursor.execute('SELECT * FROM user')
print('\nfetchmany:')
print(cursor.fetchmany(2))
# 修改ID为1的数据
cursor.execute('UPDATE user SET name=? WHERE id=?', ('First', 1))
print('\nfetchall after update:')
cursor.execute('SELECT * FROM user')
print(cursor.fetchall())
# 删除ID为1、2、3的数据
cursor.execute('DELETE FROM user WHERE id IN (1, 2, 3)')
print('\nfetchall after delete:')
cursor.execute('SELECT * FROM user')
print(cursor.fetchall())
# 关闭数据库连接
cursor.close()
conn.close()
```
运行上述代码后,输出结果如下:
```
fetchall:
[(1, 'Alice'), (2, 'Bob'), (3, 'Charlie'), (4, 'David'), (5, 'Eva')]
fetchone:
(1, 'Alice')
fetchmany:
[(1, 'Alice'), (2, 'Bob')]
fetchall after update:
[(1, 'First'), (2, 'Bob'), (3, 'Charlie'), (4, 'David'), (5, 'Eva')]
fetchall after delete:
[(4, 'David'), (5, 'Eva')]
```
可以看到,程序成功创建了example.db数据库文件,并创建了一个名为user的用户表。接着,向用户表中插入了5条数据,并使用fetchone、fetchmany和fetchall三种方式查询了用户信息。然后,将ID为1的数据的name字段值修改为“First”,并使用fetchall获取表中的所有数据。最后,删除了ID为1、2、3的数据,并再次使用fetchAll获取表中所有数据,查看删除后的结果。
阅读全文