python 数据库查询返回list或tuple实例


Posted in Python onMay 15, 2020

MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行。

默认程序:

import MySQLdb
db = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test')
cur = db.cursor()
cur.execute('select * from user')
rs = cur.fetchall()
print rs
# 返回类似如下
# ((1000L, 0L), (2000L, 0L), (3000L, 0L))

修改后:

import MySQLdb
import MySQLdb.cursors
db = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test',
           cursorclass=MySQLdb.cursors.DictCursor)
cur = db.cursor()
cur.execute('select * from user')
rs = cur.fetchall()
print rs
# 返回类似如下
# ({'age': 0L, 'num': 1000L}, {'age': 0L, 'num': 2000L}, {'age': 0L, 'num': 3000L})

或者也可以用下面替换connect和cursor部分

db = MySQLdb.connect(host='localhost', user='root', passwd='123456', db='test')
cur = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)

我的实践:

输出为元组类型:

import pymysql
 
db = pymysql.connect("localhost", "root", "123456", "filestore")
cursor = db.cursor()
sql='select * from tablelist where id>%s' %4
#查询方法一
cursor.execute(sql)
result=cursor.fetchall()
print('result',result)
 
sql2='select * from tablelist where id>%s'
values=('4') # 此处为元组类型
#查询方法二
cursor.execute(sql2,values)
result2=cursor.fetchall()
print('result2',result2)
id_list=[]
tablename_list=[]
tabletime_lsit=[]
cursor.execute('select * from tablelist where id>%s',[4,])
result3=cursor.fetchall()
print('type(result3)',type(result3))
#对((6, 'engineeringdata20180901', '1535731200'),)类型数据的提取
for i in range(len(result3)):
  id_list.append(result3[i][0])
  tablename_list.append(result3[i][1])
  tabletime_lsit.append(result3[i][2])
print(id_list)
print(tabletime_lsit)
print(tablename_list)
cursor.close()
db.close()
#输出结果:
result ((6, 'engineeringdata20180901', '1535731200'), (618, 'engineeringdata20180904', '1535990400'))
result2 ((6, 'engineeringdata20180901', '1535731200'), (618, 'engineeringdata20180904', '1535990400'))
type(result3) <class 'tuple'>
[6, 618]
['1535731200', '1535990400']
['engineeringdata20180901', 'engineeringdata20180904']

输出为list类型:

list_id=[]
list_tablename=[]
list_tabletime=[]
list=get_list('select * from tablelist where id>%s',[4])
print('list:',list)
# 对[{'id': 6, 'tablename': 'engineeringdata20180901', 'tabletime': '1535731200'},]类型数据的提取
for i in range(len(list)):
  print(list[i])
  list_id.append(list[i]['id'])
  list_tablename.append(list[i]['tablename'])
  list_tabletime.append(list[i]['tabletime'])
print('list_id:',list_id)
print('list_tabletime:',list_tabletime)
print('list_tablename:',list_tablename)
# 输出结果为:
list: [{'id': 6, 'tablename': 'engineeringdata20180901', 'tabletime': '1535731200'}, {'id': 618, 'tablename': 'engineeringdata20180904', 'tabletime': '1535990400'}]
{'id': 6, 'tablename': 'engineeringdata20180901', 'tabletime': '1535731200'}
{'id': 618, 'tablename': 'engineeringdata20180904', 'tabletime': '1535990400'}
list_id: [6, 618]
list_tabletime: ['1535731200', '1535990400']
list_tablename: ['engineeringdata20180901', 'engineeringdata20180904']

补充知识:python下 将 pymysql 返回的元组数据转换为列表

我就废话不多说了,大家还是直接看代码吧!

from itertools import chain
...
sql="select elems from table"
cursor.execute(sql)
elems = cursor.fetchall()
resultlist = list(chain.from_iterable(elems))
...

以上这篇python 数据库查询返回list或tuple实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python Requests安装与简单运用
Apr 07 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
由面试题加深对Django的认识理解
Jul 19 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
Nov 11 Python
wxPython实现整点报时
Nov 18 Python
pytorch 修改预训练model实例
Jan 18 Python
pycharm中import呈现灰色原因的解决方法
Mar 04 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
手残删除python之后的补救方法
Jun 26 Python
Python基于gevent实现高并发代码实例
May 15 #Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 #Python
Python实现aes加密解密多种方法解析
May 15 #Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 #Python
重写django的model下的objects模型管理器方式
May 15 #Python
Python基于pip实现离线打包过程详解
May 15 #Python
Django在Model保存前记录日志实例
May 14 #Python
You might like
PHP4实际应用经验篇(6)
2006/10/09 PHP
php5.2.0内存管理改进
2007/01/22 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
使用jQuery将多条数据插入模态框的实现代码
2014/10/08 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python文件操作类操作实例详解
2014/07/11 Python
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
浅谈HTML5 Web Worker的使用
2018/01/05 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
后勤自我鉴定
2013/10/13 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
2014年安全员工作总结
2014/11/13 职场文书
社区母亲节活动总结
2015/02/10 职场文书
大学生个人总结范文
2015/02/15 职场文书
优秀团员个人总结
2015/02/26 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
优质护理服务心得体会
2016/01/22 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript