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中利用sorted()函数排序的简单教程
Apr 27 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
Python读取YUV文件,并显示的方法
Dec 04 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
python创建学生成绩管理系统
Nov 22 Python
详解python itertools功能
Feb 07 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
Python调用shell cmd方法代码示例解析
Jun 18 Python
python 用递归实现通用爬虫解析器
Apr 16 Python
python微信智能AI机器人实现多种支付方式
Apr 12 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
分享PHP入门的学习方法
2007/01/02 PHP
php中cookie的使用方法
2014/03/29 PHP
PDO::errorInfo讲解
2019/01/28 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
javascript 写类方式之五
2009/07/05 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
python比较两个列表大小的方法
2015/07/11 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
pytest中文文档之编写断言
2019/09/12 Python
python中安装django模块的方法
2020/03/12 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
开学典礼感言
2014/02/16 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
酒店前台辞职书
2015/02/26 职场文书
应急管理工作总结2015
2015/05/04 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
会计入职心得体会
2016/01/22 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
Python中的xlrd模块使用整理
2021/06/15 Python