当前位置:主页 > 软件编程 > Python代码 >

Python中模块pymysql查询结果后如何获取字段列表

时间:2020-10-09 13:09:48 | 栏目:Python代码 | 点击:

前言

大家在使用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()获得。

总结

您可能感兴趣的文章:

相关文章