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牛刀小试密码爆破
Feb 03 Python
python中查看变量内存地址的方法
May 05 Python
Python学习小技巧之列表项的拼接
May 20 Python
python:print格式化输出到文件的实例
May 14 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Python3中的bytes和str类型详解
May 02 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
python xlsxwriter模块的使用
Dec 24 Python
python某漫画app逆向
Mar 31 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 Ubb代码编辑器函数代码
2012/07/05 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
解析php中curl_multi的应用
2013/07/17 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
vue如何截取字符串
2019/05/06 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
Python生成器(Generator)详解
2015/04/13 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Opencv实现抠图背景图替换功能
2019/05/21 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
Pytorch to(device)用法
2020/01/08 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
西班牙国家航空官方网站:Iberia
2017/11/16 全球购物
学校后勤岗位职责
2014/02/19 职场文书
党员活动日总结
2014/05/05 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
婚宴来宾致辞
2015/07/28 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle