数据库查询返回字典类型数据
一、oracle数据库
在oracle数据库中,可以通过数据处理,将字典名称和数据拼接一下,返回字典数据
import os
import cx_Oracle
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
class OracleConnect:
def __init__(self, connect_config): # db_name: 对应数据库配置项名
self.db = cx_Oracle.connect(connect_config)
self.cr = self.db.cursor()
def sql_select(self, sql):
"""
功能:查询数据库记录,返回以元组为元素的列表
"""
self.cr.execute(sql)
rs = self.cr.fetchall()
return rs
def sql_select_dict(self, sql):
"""
功能:查询数据库,返回以字典为元素的列表
"""
rs = self.sql_select(sql)
cols = [d[0] for d in self.cr.description] # 数据库表的所有字段名称
rs_format = []
for row in rs:
rs_dict = dict(zip(cols, row))
rs_format.append(rs_dict)
return rs_format
def __del__(self):
self.cr.close()
self.db.close()
二、mysql数据库
在MySQL中,创建游标对象时,选择参数pymysql.cursors.DictCursor,以此将查询的每条数据,返回为字典类型
import pymysql
def sql_select_dict(mysql_config, sql):
"""
功能:查询数据库,返回以字典为元素的列表
"""
conn = pymysql.connect(**mysql_config) # 数据库连接
cur = conn.cursor(pymysql.cursors.DictCursor) # 游标对象
cur.execute(sql)
return cur.fetchall()

浙公网安备 33010602011771号