python同时使用下标和字段名读取mysql查询结果

在我们使用python连接mysql 的时候,有几种库可以选择,mysql-connector-python,MySQL-python,pymysql,但是无论使用哪种库,都有一个问题,就是fetchall出来的代码row只是一种数据类型,元祖或者字典,只能用下标或者字段名中的一种来访问,我使用过sqlite3,在使用sqlite3的过程中,如果设置了conn.row_factory = sqlite3.Row,就可以同时使用下标或者字段名来访问了。

所以我就想自己实现一下这个功能,我是基于mysql-connector-python-8.0.5,将里面的lib做了修改,修改了lib/mysql/connector/cursor.py和lib/mysql/connector/connection.py,目前只做了初步的修改,功能比较简单

先贴一段代码:

import mylib.mysql.connector as mysql
#上面这行是测试的时候放的,安装好了直接import mysql.connector as mysql即可
conn = mysql.connect(host='localhost', user='root',passwd='admin',db='test',charset='utf8')
c = conn.cursor(mysqlrow=True)
c.execute("SELECT name,age FROM student;")
for row in c.fetchall(): 
    print row[0] 
    print row["name"]

以上代码都能得到print 里面都能得到name的值

代码下载地址

https://github.com/loversmile/mysql-connector-python-8.0.5-loversmile

目前实现比较简单,后续后更新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值