Python使用pymysql小技巧

时间:2021-05-22

在使用pymysql的时候,通过fetchall()或fetchone()可以获得查询结果,但这个返回数据是不包含字段信息的(不如php方便)。查阅pymysql源代码后,其实获取查询结果源代码也是非常简单的,直接调用cursor.description即可。

譬如:

db = pymysql.connect(...)cur = db.cursor()cur.execute(sql)print(cur.description)result = cur.fetchall()data_dict=[]for field in cur.description: data_dict.append(field[0])print(data_dict)

在pymysql的 pymysql/cursors.py 中,找到 class Cursor 可以看到如下代码:

def __init__(self, connection): self.connection = connection self.description = None self.rownumber = 0 self.rowcount = -1 self.arraysize = 1 self._executed = None self._result = None self._rows = None self._warnings_handled = False

因此,调用 cur.rowcount 是可以迅速返回查询结果记录数的,不需要通过 len() 获得。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章