pyMySQL SQL语句传参问题,单个参数或多个参数说明


Posted in Python onJune 06, 2020

在用pymysql操作数据库的过程中,给sql语句传参碰到了很多问题,网上传参策略很多,这里推荐两种

单个传参用%s,写起来比较简单:

field = '-'
sql_talk="UPDATE cnp.Test set a='' where b='%s'"
cursor.execute(sql_talk % field)
db.commit()

多个传参用{0}占位符:

field = '-'
a = 'code'
sql_talk="UPDATE cnp.Test set {0}='' where business_registration_code='{1}'".format(a,field)

cursor.execute(sql_talk)
db.commit()

补充知识:python自动化之pymysql库使用变量向SQL语句中动态传递参数(sql注入 || 传参策略)

使用python 3连接Mysql实现自动化增删查改库内数据,由于项目原因很多的sql语句过于复杂,导致sql语句内传递的参数过多而且容易变动,导致很多同学不知从何下手动态的传递参数,有的采用比较笨的方法拼接sql,但是工作量太大,而且复杂的语句拼接时很容易出错且不好维护,所以为大家整理了%s占位符的字典传参的用法

import pymysql
db = pymysql.connect(host="119.XX.XX.XX",
            port=3306,
            user="XXXXXXXX",
            passwd="XXXXXXXXXXXXX",
            db="XXXXXX",
            charset='utf8')
 
# %s 占位符为需要传递的参数,切记不要加''双引号,要不然会报错
sql = "SELECT totalusercount * 1.4 FROM mm_project_uv_outdoor WHERE poiid = %s AND currenttime = %s"
 
cursor = db.cursor()
# 以下为传递多个参数的用法
cursor.execute(sql,['B00140N5CS','2019-04-23'])
# 传递单个参数时 cursor.execute(sql,'B00140N5CS')
print(cursor.fetchall())
db.close()

运行后就能得到所查询的数据了

pyMySQL SQL语句传参问题,单个参数或多个参数说明

最后建议大家多看官方的文档或标准教程,这样更有益学习

以上这篇pyMySQL SQL语句传参问题,单个参数或多个参数说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python利用pyHook实现监听用户鼠标与键盘事件
Aug 21 Python
在Python中marshal对象序列化的相关知识
Jul 01 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
Python实现判断给定列表是否有重复元素的方法
Apr 11 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
python golang中grpc 使用示例代码详解
Jun 03 Python
Python数据可视化实现多种图例代码详解
Jul 14 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 15 Python
python 录制系统声音的示例
Dec 21 Python
Python使用random模块实现掷骰子游戏的示例代码
Apr 29 Python
python 解决mysql where in 对列表(list,,array)问题
Jun 06 #Python
在python中使用pyspark读写Hive数据操作
Jun 06 #Python
使用Python构造hive insert语句说明
Jun 06 #Python
Python通过kerberos安全认证操作kafka方式
Jun 06 #Python
pandas分批读取大数据集教程
Jun 06 #Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 #Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 #Python
You might like
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
图片自动更新(说明)
2006/10/02 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
2016/01/04 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
Python 调用DLL操作抄表机
2009/01/12 Python
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
python列表操作实例
2015/01/14 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
python的slice notation的特殊用法详解
2019/12/27 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
想学画画?python满足你!
2020/12/24 Python
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
工商管理实习自我鉴定
2013/09/28 职场文书
关于元旦的广播稿
2014/02/16 职场文书
小学开学典礼主持词
2014/03/19 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
Java数组与堆栈相关知识总结
2021/06/29 Java/Android