python带参数mysql 参数传递
1.通过%替换方法。
organge_id = 98
sql = "select * from orange where id=%s" % orange_id
Python 调用Mysql插入含有变量的数据,注意,占位符和双引号。
sql ="insert into f_table(name,dir) values('%s','%s')" %(filename,filepath)
2.传递参数
color = "yellow"
sql = "select * from orange where color = %s"
注意此处的占位符是%s,无论是字符串、数字或者其他类型,
都是这个占位符。另外, %s不能加引号,如'%s', 这是错误的写法。
第1种方法 与第2种写法,有什么区别呢?
两者区别是对变量的解析:
第1种写法,使用百分号%, 是用Python解释器对%s执行相应的替换。
这种方法存在漏洞,有些时候不能正常解析,比如包含某些特殊字符,甚至会造成注入攻击的风险。
3.python中format用法
语法: {index0} {index1}.format(value1,value2).即使用format()的()内的值代替{}内的值
默认情况下,如果{}内不填写任何值,则默认从左到右依次取值

4.浅谈pymysql查询语句中带有in时传递参数的问题
浅谈pymysql查询语句中带有in时传递参数的问题 - 腾讯云开发者社区-腾讯云 (tencent.com)
https://zhuanlan.zhihu.com/p/90173762#:~:text=%E5%9C%A8Python%EF%BC%8Cformat%20%28%29%E9%80%9A%E5%B8%B8%E7%94%A8%E6%9D%A5%E5%81%9A%E6%95%B0%E6%8D%AE%E7%9A%84%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%87%BA%EF%BC%8C%E8%BF%99%E9%87%8C%E4%B8%BB%E8%A6%81%E8%AE%B0%E5%BD%95format%EF%BC%88%EF%BC%89%E7%9A%84%E5%87%A0%E4%B8%AA%E7%94%A8%E6%B3%95%20%E8%AF%AD%E6%B3%95%EF%BC%9A%20%7Bindex0%7D,%7Bindex1%7D.format%20%28value1%2Cvalue2%29.%E5%8D%B3%E4%BD%BF%E7%94%A8format%EF%BC%88%EF%BC%89%E7%9A%84%EF%BC%88%EF%BC%89%E5%86%85%E7%9A%84%E5%80%BC%E4%BB%A3%E6%9B%BF%20%7B%7D%E5%86%85%E7%9A%84%E5%80%BC%20Part%201%3A%E6%AD%A3%E5%B8%B8%E8%BE%93%E5%87%BA
https://blog.csdn.net/weixin_39899244/article/details/111065626
https://blog.csdn.net/u011085172/article/details/79044490
