Python使用pymysql小技巧
在使用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() 获得。
相关推荐
愿天下再无BUG 2020-06-25
阿亮 2020-06-22
liuweiq 2020-06-14
variab 2020-06-14
CloudXli 2020-06-04
sunnyxuebuhui 2020-06-04
JamesRayMurphy 2020-05-31
测试自动化顾问 2020-05-29
heniancheng 2020-05-26
huolan 2020-05-12
kuwoyinlehe 2020-05-07
zjyhll 2020-05-06
huangliang00 2020-05-03
sulindong0 2020-04-30
探索世界改变世界 2020-04-21
jhshanyu00 2020-04-20
bcbeer 2020-04-16