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

yipeiwu_com6年前Python基础

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如果要指定则值必须是整型,否则会出错!

相关文章

Python对两个有序列表进行合并和排序的例子

假设有2个有序列表l1、l2,如何效率比较高的将2个list合并并保持有序状态,这里默认排序是正序。 思路是比较简单的,无非是依次比较l1和l2头部第一个元素,将比较小的放在一个新的列表...

使用Python压缩和解压缩zip文件的教程

python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件。 例如,在py脚本所在目录中,有如下文件: 复制代码 代码如下:readability/readabil...

Python Web框架之Django框架Model基础详解

本文实例讲述了Python Web框架之Django框架Model基础。分享给大家供大家参考,具体如下: model是关于你的数据的单一的,确定的信息来源。 它包含您正在存储的数据的基本...

python写入已存在的excel数据实例

python可以使用xlrd读excel,使用xlwt写excel,但是如果要把数据写入已存在的excel,需要另外一个库xlutils配合使用. 大概思路: 1、用xlrd.open_...

在django中,关于session的通用设置方法

最近发现session的知识有点脱节了,默认设置愣是搞半天,看来忘了不少。今天把一些通用设置贴上来,以备随时回顾。 配置文件中设置默认操作(通用配置): SESSION_CO...