欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python中让MySQL查询结果返回字典类型的方法

程序员文章站 2022-06-03 09:30:02
python的mysqldb模块是python连接mysql的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据 默认连接数据库: 复制代...

python的mysqldb模块是python连接mysql的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据
默认连接数据库:

复制代码 代码如下:

mysqldb.connect(
    host=host,
        user=user,
        passwd=passwd,
        db=db,
        port=port,
        charset='utf8'
)

查询数据:
复制代码 代码如下:

cur = conn.cursor()
cur.execute('select b_id from blog limit 1')
data = cur.fetchall() 
cur.close()
conn.close()

打印:
复制代码 代码如下:

for row in data:
    print type(row)
    print row

执行结果:
复制代码 代码如下:

<type 'tuple'>
(1l,)

为tuple类型。
我们可以这么干使得数据查询结果返回字典类型,即 字段=数据
导入模块
复制代码 代码如下:

import mysqldb.cursors

在连接函数里加上这个参数  cursorclass = mysqldb.cursors.dictcursor 如:
复制代码 代码如下:

mysqldb.connect(
    host=host,
        user=user,
        passwd=passwd,
        db=db,
        port=port,
        charset='utf8',
    cursorclass = mysqldb.cursors.dictcursor
)

再重新运行脚本,看看执行结果:
复制代码 代码如下:

<type 'dict'>
{'b_id': 1l}

搞定!
注意,在连接的时候port如果要指定则值必须是整型,否则会出错!