Python使用pymysql小技巧


Posted in Python onJune 04, 2017

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

Python 相关文章推荐
python线程池的实现实例
Nov 18 Python
Python的网络编程库Gevent的安装及使用技巧
Jun 24 Python
Python实现全排列的打印
Aug 18 Python
Python面向对象程序设计示例小结
Jan 30 Python
python类的实例化问题解决
Aug 31 Python
Django配置文件代码说明
Dec 04 Python
python每5分钟从kafka中提取数据的例子
Dec 23 Python
Python原始套接字编程实例解析
Jan 29 Python
python pptx复制指定页的ppt教程
Feb 14 Python
在pycharm中实现删除bookmark
Feb 14 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
python3爬虫GIL修改多线程实例讲解
Nov 24 Python
Python常见异常分类与处理方法
Jun 04 #Python
Python实现Linux的find命令实例分享
Jun 04 #Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 #Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 #Python
python snownlp情感分析简易demo(分享)
Jun 04 #Python
Python 调用Java实例详解
Jun 02 #Python
python使用两种发邮件的方式smtp和outlook示例
Jun 02 #Python
You might like
探讨php中遍历二维数组的几种方法详解
2013/06/08 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
javascript入门·对象属性方法大总结
2007/10/01 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
python实现斐波那契递归函数的方法
2014/09/08 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python中%r和%s的详解及区别
2017/03/16 Python
python并发编程之线程实例解析
2017/12/27 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
银行会计职员个人的自我评价
2013/09/29 职场文书
承诺函范文
2015/01/21 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
vue如何清除浏览器历史栈
2022/05/25 Vue.js