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中操作时间之mktime()方法的使用教程
May 22 Python
使用Python求解最大公约数的实现方法
Aug 20 Python
Python的IDEL增加清屏功能实例
Jun 19 Python
Python3导入自定义模块的三种方法详解
Apr 13 Python
python requests爬取高德地图数据的实例
Nov 10 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
详解Anaconda安装tensorflow报错问题解决方法
Nov 01 Python
Python新建项目自动添加介绍和utf-8编码的方法
Dec 26 Python
python读取excel数据并且画图的实现示例
Feb 08 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压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
PHP 验证码的实现代码
2011/07/17 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
JavaScript之编码规范 推荐
2012/05/23 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
python socket 超时设置 errno 10054
2014/07/01 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
python删除不需要的python文件方法
2018/04/24 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
python如何判断IP地址合法性
2020/04/05 Python
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
面试自我介绍演讲稿
2014/04/29 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
社区志愿者活动总结
2014/06/26 职场文书
工会工作先进事迹
2014/08/18 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
Python实现机器学习算法的分类
2021/06/03 Python