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 30 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
python实现超简单的视频对象提取功能
Jun 04 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
Python使用pdb调试代码的技巧
May 03 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
基于Python绘制美观动态圆环图、饼图
Jun 03 Python
基于keras中的回调函数用法说明
Jun 17 Python
keras实现VGG16方式(预测一张图片)
Jul 07 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
swoole和websocket简单聊天室开发
2017/11/18 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python实现list反转实例汇总
2014/11/11 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
用Python实现随机森林算法的示例
2017/08/24 Python
Python 元类实例解析
2018/04/04 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
Python目录和文件处理总结详解
2019/09/02 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
聚美优品广告词改编
2014/03/14 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
教师教学评估方案
2014/05/09 职场文书
个人委托书怎么写
2014/09/17 职场文书
小学教师读书笔记
2015/07/01 职场文书
Java spring单点登录系统
2021/09/04 Java/Android
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL