当前位置 博文首页 > Python中让MySQL查询结果返回字典类型的方法

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

    作者:admin 时间:2021-07-12 18:34

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

    jsjbwy