如何在python中的sql查询中使用MySQL模式匹配和绑定参数?

时间:2016-03-11 07:11:00

标签: python mysql regex

我知道如何使用MySQL模式匹配,例如:

SELECT * FROM table WHERE col LIKE '%mid%'

我也知道如何在python中将参数绑定到sql查询中,例如:

import MySQLdb
s = 'something'
db = MySQLdb.connect(host=blablabla...)
cur = db.cursor()
sql = "SELECT * FROM table WHERE col = %s"
cur.execute(sql, s)
data = cur.fetchall()
db.close()

但我找不到在一个查询中将这些组合在一起的方法,比如

sql = "SELECT * FROM table WHERE col LIKE '%%s%'"
cur.execute(sql, s)

其中第一个和第三个'%'是模式字符,中间'%s'用于绑定参数s。 有人有想法吗?

3 个答案:

答案 0 :(得分:1)

好吧,我会自己回答.. @dsgdfg启发了我,这是我的代码:

sql = "SELECT * FROM table WHERE col LIKE %s"
cur.execute(sql, "%"+s+"%")

答案 1 :(得分:0)

Vector()

(我假设providers: [CUSTOM_VALUE_ACCESSOR, MyDatePicker] 处理转义,从而阻止了SQL注入。)

答案 2 :(得分:0)

供使用py魅力的人使用 你可以做到

composer update 

enter image description here