前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pymysql查询数据

pymysql查询数据

作者头像
灯珑LoGin
发布2022-10-31 09:56:25
1.1K0
发布2022-10-31 09:56:25
举报
文章被收录于专栏:龙进的专栏

我们可以用fetchone来获取一行数据,也可以用fetchall来获取多条数据

在查询数据时,我们可以把指针设置为DictCursor,那么返回的就是一个字典,方便处理。

注意的是,fetchone和fetchall都是返回当前指针位置以后的数据,也就是说,不会返回指针位置之前的数据。

我们可以通过scroll方法来移动指针。

scroll方法有两个模式:absolute和relative

显然absolute模式就是以绝对位置来移动指针,0是第一条数据的位置。

relative模式就是以相对位置来移动指针,正数向后移动,负数向前移动。

看看下面这段代码,当第一次输出完所有的数据之后,再次执行fetchall,输出的是空列表,只有当指针的位置移动到0之后,才会输出完整的列表。

代码语言:javascript
复制
#查询数据

import pprint
import pymysql

host = 'localhost'
username = 'test'
password = 'test'
db_name = 'test'

connect = pymysql.connect(host, username, password, db_name, charset='utf8')
#获取游标对象查询返回字典
cursor = connect.cursor(pymysql.cursors.DictCursor)

cursor.execute('select * from users;')

#只返回一个
for i in range(5):
    result = cursor.fetchone()
    print('fetchone')
    pprint.pprint(result)


#全部返回
result = cursor.fetchall()
print('fetchall')
pprint.pprint(result)

result = cursor.fetchall()
print('fetchall')
pprint.pprint(result)
cursor.scroll(0, mode='absolute')
result = cursor.fetchall()
print('fetchall')
pprint.pprint(result)
cursor.close()
connect.close()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年9月10日2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档