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实现简单的代理服务器
Jul 25 Python
通过实例浅析Python对比C语言的编程思想差异
Aug 30 Python
python 默认参数问题的陷阱
Feb 29 Python
Python写的一个定时重跑获取数据库数据
Dec 28 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
Jul 06 Python
scrapy爬虫完整实例
Jan 25 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
python求绝对值的三种方法小结
Dec 04 Python
Python函数的定义方式与函数参数问题实例分析
Dec 26 Python
pandas抽取行列数据的几种方法
Dec 13 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 uniqid函数生成唯一ID
2015/11/18 PHP
发现的以前不知道的函数
2006/09/19 Javascript
JQuery 选择器、过滤器介绍
2011/02/14 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
2014/09/22 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
2014/10/10 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python函数参数类型*、**的区别
2015/04/11 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
linux下python使用sendmail发送邮件
2018/05/22 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
Python如何调用外部系统命令
2019/08/07 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
四风存在的原因分析
2014/02/11 职场文书
宣传工作经验材料
2014/06/02 职场文书
黄山导游词
2015/01/31 职场文书
学习保证书怎么写
2015/02/26 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python
一小时学会TensorFlow2之基本操作2实例代码
2021/09/04 Python
深入浅析Django MTV模式
2021/09/04 Python