国产美女,兰叶大戟,非常时期非常爱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语句传参问题,单个参数或多个参数说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论