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脚本使得web页面上的代码高亮显示
Apr 24 Python
Python环境搭建之OpenCV的步骤方法
Oct 20 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
python2.7到3.x迁移指南
Feb 01 Python
Python中一些不为人知的基础技巧总结
May 19 Python
Python实现的简单计算器功能详解
Aug 25 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
Python 基于jwt实现认证机制流程解析
Jun 22 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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下通过POST还是GET来传值
2008/06/05 PHP
php 301转向实现代码
2008/09/18 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
js实现简单贪吃蛇游戏
2020/05/15 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
用python写的一个wordpress的采集程序
2016/02/27 Python
Python常用库推荐
2016/12/04 Python
Python中修改字符串的四种方法
2018/11/02 Python
Python  Django 母版和继承解析
2019/08/09 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
领导干部培训感言
2014/01/23 职场文书
计算机专业职业规划
2014/02/28 职场文书
广告语设计及教案
2014/03/21 职场文书
2014年领导班子专项整治整改方案
2014/09/28 职场文书
党员个人剖析材料
2014/09/30 职场文书
北京颐和园导游词
2015/01/30 职场文书
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python