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编写简单的端口扫描器的实例分享
Dec 18 Python
python连接mysql实例分享
Oct 09 Python
Django自定义分页效果
Jun 27 Python
python实现list由于numpy array的转换
Apr 04 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
python中virtualenvwrapper安装与使用
May 20 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
Python while循环使用else语句代码实例
Feb 07 Python
Python利用PyPDF2库获取PDF文件总页码实例
Apr 03 Python
python输入中文的实例方法
Sep 14 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
如何在向量化NumPy数组上进行移动窗口
May 18 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实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
Laravel框架控制器的middleware中间件用法分析
2019/09/30 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
javascript背投广告代码的完善
2008/04/08 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
js实现砖头在页面拖拉效果
2020/11/20 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
Ant Design moment对象和字符串之间的相互转化教程
2020/10/27 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
Python 开发Activex组件方法
2009/11/08 Python
Python入门篇之对象类型
2014/10/17 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python实现维吉尼亚加密法
2019/03/20 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
pytorch 模型可视化的例子
2019/08/17 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
水利公司纪检监察自我鉴定
2014/02/25 职场文书