如何理解sqlite 中的cursor对象?
SQLite的cursor对象在Python中通常是通过sqlite3
模块使用。cursor对象是数据库查询结果的指针,可以遍历结果集。
cursor对象的主要方法包括:
execute(sql [, optional parameters])
: 执行一个SQL语句。executemany(sql, seq_of_parameters)
: 对序列中的每个参数执行SQL语句。fetchone()
: 从结果集中获取下一行。fetchmany([size])
: 从结果集中获取多行。fetchall()
: 从结果集中获取所有行。close()
: 关闭cursor。scroll(value, mode)
: 滚动指针。
使用cursor对象的基本步骤如下:
- 使用
sqlite3.connect()
连接到数据库。 - 使用
connection.cursor()
创建一个cursor对象。 - 使用cursor对象的方法执行SQL语句。
- 如果执行的是查询,使用
fetch
方法获取结果。 - 关闭cursor对象。
- 提交或回滚事务,关闭数据库连接。
示例代码:
import sqlite3
# 连接到数据库(如果不存在则创建)
conn = sqlite3.connect('example.db')
# 创建一个cursor对象
cursor = conn.cursor()
# 执行SQL语句
cursor.execute('''CREATE TABLE IF NOT EXISTS stocks
(date text, trans text, symbol text, qty real, price real)''')
# 关闭cursor对象
cursor.close()
# 提交事务
conn.commit()
# 关闭连接
conn.close()
在实际应用中,你可能需要根据查询结果遍历数据:
# 连接到数据库
conn = sqlite3.connect('example.db')
# 创建一个cursor对象
cursor = conn.cursor()
# 执行查询
cursor.execute('SELECT * FROM stocks ORDER BY symbol')
# 使用fetchall获取所有结果
rows = cursor.fetchall()
# 遍历结果集
for row in rows:
print(row)
# 关闭cursor对象
cursor.close()
# 关闭连接
conn.close()
评论已关闭