python读取数据库转换成字典_python MYSQL执行sql语句查询结果转化为内容为字典的列表方便交互...

部分公司出于安全,数据表过于复杂亦或者是其他方面的考虑,往往会希望直接用pymysql写原生sql语句去编写后台代码而不是使用orm之类技术去实现数据的获取。但是如此做的话,就会把数据库查询的结果作为请求的参数,但是原生sql返回的字段往往是元组嵌套元组结果集的形式,即((1,3),(2,3)),其中内嵌的两个元组即我们查询的结果集的值。这样会导致我们无法准确的获取值所对应的关键字。并且获取的值只能受限元组的顺序,无法灵活应用不适合交互。所以我们希望返回的数据能够像orm技术一样返回的单条数据结果就是字典,返回结果为多条数据时可以统一放在列表中以便于遍历。

要想达到这样的转换效果。首先看看是如何实现原生语句的获取的。这是一个用以sql查询单条或者多条数据的方法。以size=0可以判断是否需要fetchall全部查询。

def find_info(table,orderdict, size=1):

'''

:param table: str 所查询的表

:param orderdict: dict 关键字值的字典

:return:

'''

key_list = list(orderdict.keys())

value_tuple = tuple(orderdict.values())

print(key_list,value_tuple)

for key in key_list:

if key == key_list[0]:

sql = "select * from {} where {}=%s".format(table, key)

else:

sql =

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值