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中的with...as用法介绍
May 28 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
Python自定义一个异常类的方法
Jun 27 Python
python实现列表的排序方法分享
Jul 01 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
Django values()和value_list()的使用
Mar 31 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
Python绘制组合图的示例
Sep 18 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 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
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
PHP计数器的实现代码
2013/06/08 PHP
Codeigniter注册登录代码示例
2014/06/12 PHP
php自定义扩展名获取函数示例
2016/12/12 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
javascript动态加载三
2012/08/22 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
React SSR样式及SEO的实践
2018/10/22 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
jquery实现穿梭框功能
2021/01/19 jQuery
python实现弹窗祝福效果
2019/04/07 Python
基于python实现百度翻译功能
2019/05/09 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
毕业生就业自荐书
2013/12/15 职场文书
公司同意接收函
2014/01/13 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
劳动之星获奖感言
2014/02/01 职场文书
六一儿童节主持词
2014/03/21 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
应聘教师自荐书
2014/06/16 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
长征观后感
2015/06/09 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP