(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-26 16:57:25 浏览: 94
好的,我会根据您的要求进行操作并回答您的问题。
请注意,在执行 SQL 语句时,需要使用 SQLite 数据库。
1. 创建 example.db 数据库文件,并执行 SQL 语句创建 user 表:
```sql
CREATE TABLE user (
id INTEGER PRIMARY KEY,
name TEXT
);
```
2. 向 user 表中插入 5 条用户信息:
```sql
INSERT INTO user (name) VALUES ('Alice'), ('Bob'), ('Charlie'), ('David'), ('Eva');
```
3. 分别使用 fetchone、fetchmany 和 fetchall 这 3 种方式查询用户信息:
```python
import sqlite3
# 连接到 example.db 数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cur = conn.cursor()
# 使用 fetchone 查询一条记录
cur.execute('SELECT * FROM user WHERE id = ?', (1,))
print(cur.fetchone())
# 使用 fetchmany 查询多条记录
cur.execute('SELECT * FROM user WHERE id > ?', (2,))
print(cur.fetchmany(2))
# 使用 fetchall 查询所有记录
cur.execute('SELECT * FROM user')
print(cur.fetchall())
# 关闭游标和连接
cur.close()
conn.close()
```
输出结果如下:
```python
(1, 'Alice')
[(3, 'Charlie'), (4, 'David')]
[(1, 'Alice'), (2, 'Bob'), (3, 'Charlie'), (4, 'David'), (5, 'Eva')]
```
4. 将 SQLite 数据库中 user 表 ID 为 1 的数据 name 字段值修改为“First”,并使用 fetchall 获取表中的所有数据:
```python
import sqlite3
# 连接到 example.db 数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cur = conn.cursor()
# 修改 id 为 1 的记录
cur.execute('UPDATE user SET name = ? WHERE id = ?', ('First', 1))
# 查询所有记录
cur.execute('SELECT * FROM user')
print(cur.fetchall())
# 关闭游标和连接
cur.close()
conn.close()
```
输出结果如下:
```python
[(1, 'First'), (2, 'Bob'), (3, 'Charlie'), (4, 'David'), (5, 'Eva')]
```
可以看到,ID 为 1 的记录的 name 字段值已经被修改为“First”。
5. 将 SQLite 数据库中 user 表 ID 为 1、2、3 的数据删除,并使用 fetchall 获取表中所有数据,查看删除后的结果:
```python
import sqlite3
# 连接到 example.db 数据库
conn = sqlite3.connect('example.db')
# 创建游标对象
cur = conn.cursor()
# 删除 id 为 1、2、3 的记录
cur.execute('DELETE FROM user WHERE id IN (?, ?, ?)', (1, 2, 3))
# 查询所有记录
cur.execute('SELECT * FROM user')
print(cur.fetchall())
# 关闭游标和连接
cur.close()
conn.close()
```
输出结果如下:
```python
[(4, 'David'), (5, 'Eva')]
```
可以看到,ID 为 1、2、3 的记录已经被删除,只剩下 ID 为 4 和 5 的记录。
阅读全文