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 相关文章推荐
Django 创建/删除用户的示例代码
Jul 24 Python
Python学习笔记之函数的定义和作用域实例详解
Aug 13 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
对python while循环和双重循环的实例详解
Aug 23 Python
基于Python获取城市近7天天气预报
Nov 26 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
浅谈Python爬虫原理与数据抓取
Jul 21 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
怎么解决pycharm license Acti的方法
Oct 28 Python
Python字典实现伪切片功能
Oct 28 Python
python3实现名片管理系统(控制台版)
Nov 29 Python
python脚本框架webpy的url映射详解
Nov 20 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
基于PHP+MySQL的聊天室设计
2006/10/09 PHP
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
php猜单词游戏
2015/09/29 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
通过实例解析js简易模块加载器
2019/06/17 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
wxPython中listbox用法实例详解
2015/06/01 Python
python数据结构之链表的实例讲解
2017/07/25 Python
python实现ID3决策树算法
2017/12/20 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
一些.net面试题
2014/10/06 面试题
介绍下Java中==和equals的区别
2013/09/01 面试题
应届生法律求职信
2013/10/22 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
土建技术员岗位职责
2015/04/11 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
趣味运动会标语口号
2015/12/26 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书