前言
大家在使用pymysql的時候,通過fetchall()或fetchone()可以獲得查詢結果,但這個返回數(shù)據(jù)是不包含字段信息的(不如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是可以迅速返回查詢結果記錄數(shù)的,不需要通過len()獲得。
總結
好了,先說到這里了。以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。
新聞熱點
疑難解答