执行查询依然按照前面介绍的步骤进行,只是改为执行 select 语句。由于 select 语句执行完成后可以得到查询结果,因此程序可通过游标的 fetchone()、fetchmany(n)、fetchall() 来获取查询结果。正如它们的名字所暗示的,fetchone() 用于获取一条记录,fetchmany(n) 用于获取 n 条记录,fetchall() 用于获取全部记录。
如下程序示范了如何执行查询语句,并输出查询结果。
# 导入访问SQLite的模块 import sqlite3 # ①、打开或创建数据库 # 也可以使用特殊名:memory:代表创建内存中的数据库 conn = sqlite3.connect('first.db') # ②、获取游标 c = conn.cursor() # ③、调用执行select语句查询数据 c.execute('select * from user_tb where _id > ?', (2,)) print('查询返回的记录数:', c.rowcount) # 通过游标的description属性获取列信息 for col in (c.description): print(col[0], end='t') print('n--------------------------------') while True: # 获取一行记录,每行数据都是一个元组 row = c.fetchone() # 如果抓取的row为None,退出循环 if not row : break print(row) print(row[1] + '-->' + row[2]) # ④、关闭游标 c.close() # ⑤、关闭连接 conn.close()
上面程序使用 execute() 方法执行了一条 select 语句,接下来程序使用循环,通过游标的 description 属性获取查询的列

本文介绍了Python中使用SQLite数据库进行查询操作的方法,重点讲解了fetchone、fetchmany和fetchall的区别和使用场景。示例代码展示了如何执行SQL查询并获取结果,强调了避免一次性获取大量记录以防止内存问题。
最低0.47元/天 解锁文章
605

被折叠的 条评论
为什么被折叠?



