在SQLite中导航游标行(例如,我们可以回退重置游标,即返回第一行吗?)

在SQLite中导航游标行(例如,我们可以回退重置游标,即返回第一行吗?),第1张

在SQLite中导航游标行(例如,我们可以回退/重置游标,即返回第一行吗?)

Python 3.1中的SQLite接口基于PEP
249
,它仅指定游标必须支持对查询结果记录的顺序访问。没有回头路了。如果您需要返回到先前获取的行,则应在首次获取它时将其保存,例如,创建一个获取数据列表(或者实际上是使用

fetchall
)。然后,您可以使用列表,并根据需要在行之间来回移动。

DB API设计背后的思想是支持高效执行代码,您只需要处理每一行一次即可。一个典型的循环如下所示:

for a,b,c in cursor.fetchone():    # process it

这样,一旦循环的相应迭代完成,游标就可以丢弃对每一行数据的引用。它实际上并不会丢失任何内容,因为如果您要保留所有数据,则始终可以列出其中的一个列表,但是处理大型数据集的应用程序仍然可以一次处理一个行。这有点像在需要逐个处理可迭代元素时使用生成器表达式而不是列表的原因。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5662250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存