pymysql之cur.fetchall() 和cur.fetchone()用法详解


Posted in Python onMay 15, 2020

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

import pymysql,hashlib
结果:单条结果 {'id': 1, 'name': '打车', 'phone': '132453'}

sql = 'select * from zxj'
def op_mysql(sql,many=True):
 db_info = {'user': 'jxz', 'password': '123456',
  'host': '118*******', 'db': 'jxz', 'port': 3306, 'charset': 'utf8',
  'autocommit': True}
 conn = pymysql.connect(**db_info) # 建立连接
 cur = conn.cursor(pymysql.cursors.DictCursor) # 游标
 cur.execute(sql) # 执行sql语句,insert 、update 、delete
 if many:
 result = cur.fetchall()
 print('多条',result)
 else:
 result = cur.fetchone() # {''}
 print('dantiao',result)
 cur.close()
 conn.close()
 return result
op_mysql(sql,many=False) # 传入sql, 默认为true

=================================
md5加盐2
def md5(s,salt=''):
 new_s = str(s) + salt
 m = hashlib.md5(new_s.encode())
 return m.hexdigest()```

补充知识:python pymssql使用时,使用fetchone获取的值怎么在while里操作多条数据

项目描述:

想把status状态为1的数据查出来然后再通过while 遍历update 数据,为了清楚测试时候的数据。

刚开始的代码是这样的。

#coding:utf-8
import pymssql
def connect():
connect=pymssql.connect((‘x.x.x.x'),‘x',‘x',‘x')

cursor = connect.cursor() # 创建游标
sql001='select *from xxxxx where xxxxx=273and Status=1 order by sysno desc'#查询语句
cursor.execute(sql001)
row=cursor.fetchone()#读取查询结果
print(row)
if row==None:
 print("没有查到数据")
else:

 while row:
 print("sysno=%s" % (row[0]))
 cursor.execute("update xxxxx set Status=-1 where SysNo=%d", row[0]) # 执行语句\
 connect.commit()
 print(row)
 #cursor.execute(sql001)
 row=cursor.fetchone()
 #print(row)

connect()

报错信息:

File “D:/JiCaiZhuanTi/Case/test.py”, line 22, in connect
row=cursor.fetchone()
File “src\pymssql.pyx”, line 507, in pymssql.Cursor.fetchone
pymssql.OperationalError: Statement not executed or executed statement has no resultset

自己查了不少文章,以前没有对这块有所涉及,因为本人是菜鸟,用到哪就看到哪。也仔细看了fetchone() 、fetchall() 还有pymssql的对数据库的基本炒作。看了好久在最后灵光一闪理解错误在哪里了。

错误出在while里的connect.commit()后直接又row=cursor.fetchone()而while里是(返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None)因为我上一个查询是update语句,更新sql语句不会返回resultset,所以会报错。

然后我就这样改了一下,:

while row:
print(“sysno=%s” % (row[0]))
cursor.execute(“update xxxxx set Status=-1 where SysNo=%d”, row[0]) # 执行语句
connect.commit()
print(row)
cursor.execute(sql001)
row=cursor.fetchone()

在获取sql执行获取结果的 row=cursor.fetchone()我再去调用一次查询再次获取想要的数据。

我觉得应该有更好的办法,就是再第一次获取查询结果把所需要的sysno都拿出来,然后再while,这样可以减少对数据库的调用。

目前还没有写出来代码,不知道思路对不对,大家可以留言讨论下。

以上这篇pymysql之cur.fetchall() 和cur.fetchone()用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之重回函数
Oct 10 Python
Python判断文本中消息重复次数的方法
Apr 27 Python
Python的Django中将文件上传至七牛云存储的代码分享
Jun 03 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
Python判断有效的数独算法示例
Feb 23 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
python简单的三元一次方程求解实例
Apr 02 Python
django 利用Q对象与F对象进行查询的实现
May 15 #Python
Python实现电视里的5毛特效实例代码详解
May 15 #Python
python中wx模块的具体使用方法
May 15 #Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 #Python
python随机模块random的22种函数(小结)
May 15 #Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 #Python
python 数据库查询返回list或tuple实例
May 15 #Python
You might like
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
JS关键字变色实现思路及代码
2013/02/21 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
javaScript中"=="和"==="的区别详解
2018/03/16 Javascript
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
美容院考勤制度
2014/01/30 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
委托书的格式
2014/08/01 职场文书
单位租房协议书范本
2014/12/04 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
Django REST framework 限流功能的使用
2021/06/24 Python
讲解Python实例练习逆序输出字符串
2022/05/06 Python
Python+pyaudio实现音频控制示例详解
2022/07/23 Python