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进行基础的函数式编程的教程
Mar 31 Python
Python中type的构造函数参数含义说明
Jun 21 Python
Django Admin实现上传图片校验功能
Mar 06 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
python机器学习之神经网络(一)
Dec 20 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
计算机二级python学习教程(3) python语言基本数据类型
May 16 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
python 数据库查询返回list或tuple实例
May 15 Python
python Xpath语法的使用
Nov 26 Python
Python的collections模块真的很好用
Mar 01 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中一个完整表单处理实现代码
2011/11/10 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
jquery文本框中的事件应用以输入邮箱为例
2014/05/06 Javascript
js判断当前页面用什么浏览器打开的方法
2016/01/06 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
Python 调用DLL操作抄表机
2009/01/12 Python
python 正则式使用心得
2009/05/07 Python
python之yield表达式学习
2014/09/02 Python
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
python网络编程之文件下载实例分析
2015/05/20 Python
Python 文件处理注意事项总结
2017/04/10 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
django自带调试服务器的使用详解
2019/08/29 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
英国绿色商店:Natural Collection
2019/05/03 全球购物
个人自我鉴定
2013/11/07 职场文书
项目经理的岗位职责
2013/11/23 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android