Python的mysql.connector模块fetchall()函数查询记录少了很多

博客中提到,在使用mysql.connector模块进行数据库查询时,返回的结果数量远少于预期。经过排查,发现是由于模块本身的问题导致数据返回不全。为了解决这个问题,作者改用pymysql模块重新建立数据库连接,并执行相同的fetchall()操作,成功获取到了全部5667条记录。这是一个关于数据库连接模块选择和数据完整性的实例。
摘要由CSDN通过智能技术生成
# 引入模块
import mysql.connector
# 省略其他步骤,最近到查询的操作这
result_list = mycur.fetchall()
# 这里使用mysql.connector模块执行的时候只返回了部分记录
print(len(result_list))

查询结果如下:
129

这个数据明显是不对的,我们来看下数据库表的记录
在这里插入图片描述
执行上面的fetchall()应该返回5667条记录,这里只返回了129条。
解决方案如下:
在这里插入图片描述
使用pymysql模块,只需要修改连接的字符就行了,其他的不用改动。

    # mysql.connector模块数据库连接方法
    conn = mysql.connector.connect(
        host="localhost",  # 数据库主机地址
        user="root",  # 数据库用户名
        passwd="123.com",  # 数据库密码
        database="test",  # 数据库

    )
    # pymysql模块数据库连接方法
    conn = pymysql.connect('localhost', user="user", passwd="pwd", db="test")

将mysql.connector模块数据库连接方法注释掉,使用pymysql再次执行fetchall()函数,结果如下:
在这里插入图片描述
这样就解决了数据返回不全的问题,简单记录一下这个问题。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值