shang9252

2020-05-30   阅读量: 1086

为什么要使用游标cursor

扫码加入数据分析学习群

cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb对象,这个时候cursor中还没有数据,只有等到fetchone()或fetchall()的时候才返回一个元组tuple,才支持len()和index()操作,这也是它是迭代器的原因。但同时为什么说它是生成器呢?因为cursor只能用一次,即每用完一次之后记录其位置,等到下次再取的时候是从游标处再取而不是从头再来,而且fetch完所有的数据之后,这个cursor将不再有使用价值了,即不再能fetch到数据了。

close() 关闭游标。之后游标不可用

execute(query[,args]) 执行一条SQL语句,可以带参数

executemany(query, pseq) 对序列pseq中的每个参数执行sql语句

fetchone() 返回一条查询结果

fetchall() 返回所有查询结果

fetchmany([size]) 返回size条结果

nextset() 移动到下一个结果

scroll(value,mode='relative') 移动游标到指定行,如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条

使用游标的好处

如果不使用游标功能,直接使用select查询,会一次性将结果集打印到屏幕上,你无法针对结果集做第二次编程。使用游标功能后,我们可以将得到的结果先保存起来,然后可以随意进行自己的编程,得到我们最终想要的结果集。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
26.9468 1 2 关注作者 收藏

评论(0)


暂无数据

推荐课程