zoukankan      html  css  js  c++  java
  • python-51-MySQLdb查询返回dict格式

    前言

    本篇有两个库可以将数据库查询时返回dict格式。①pymsql ②MySQLdb

    你更喜欢用哪种呢?

    一、pymsql

    import pymysql
    from pymysql.cursors import DictCursor
    
    conn = pymysql.connect(
        host='127.0.0.1',
        port=3306,
        database='demo',
        user='root',
        password='123456',
        # autocommit=True
    )
    cursor = conn.cursor(DictCursor)
    
    sql = 'select * from address where id=1'
    cursor.execute(sql)
    result = cursor.fetchone()
    print(result)

    二、MySQLdb

    但是MySQLdb可以返回dict格式。看例子吧:

    import MySQLdb
    
    
    def send_sql(sql):
        # 建立连接
        conn = MySQLdb.connect(
            host='127.0.0.1',
            user='root',
            passwd='123456',
            db='demo',
            charset='utf8')
    
        # 建立游标时,加上"MySQLdb.cursors.DictCursor",让数据查询结果返回字典类型
        cur = conn.cursor(MySQLdb.cursors.DictCursor)
    
        # 对数据进行操作
        cur.execute(sql)        # 执行sql语句
        data = cur.fetchone()   # 读取数据
        # 关闭数据库连接
        cur.close()
        conn.close()
        return data
    
    
    if __name__ == '__main__':
        sql = "select * from demo.JT_data as j where j.id=1;"  # 定义查询操作的sql语句
        result = send_sql(sql)
        print(result)
        print(result.get('id'))

    返回数据:

    {'id': '1', 'province_id': '110000', 'province': '北京', 'city_id': '110100', 'city': '北京市', 'county_id': '110101', 'county': '东城区'}
    1

    也是这两个方法:

    cur.fetchone()   # 读取一条数据
    cur.fetchall()   # 读取查询出的所有数据

    注意:如果出现乱码,则需要将它加入连接参数中:charset='utf8'

  • 相关阅读:
    更改Delphi系统的默认字体
    Delphi TThread中文注释
    Delphi中的线程类 TThread详解
    TreeView使用笔记
    用未公开函数实现Shell操作监视
    Delphi面向对象编程的20条规则
    Delphi操作Excel命令
    delphi 创建一个纯文本文件
    判断滚动条到底部、
    数据库性能优化之SQL语句优化1
  • 原文地址:https://www.cnblogs.com/gsxl/p/13950531.html
Copyright © 2011-2022 走看看