当前位置: 移动技术网 > IT编程>脚本编程>Python > pyMySQL SQL语句传参问题,单个参数或多个参数说明

pyMySQL SQL语句传参问题,单个参数或多个参数说明

2020年06月23日  | 移动技术网IT编程  | 我要评论

国产美女,兰叶大戟,非常时期非常爱txt

在用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语句传参问题,单个参数或多个参数说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网