[英]how to using MySQL pattern matching and binding parameters in sql query in python?
我知道如何使用 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。 有人有想法嗎?
好吧,我會自己回答..@dsgdfg 啟發了我,這是我的代碼:
sql = "SELECT * FROM table WHERE col LIKE %s"
cur.execute(sql, "%"+s+"%")
sql = "SELECT * FROM table WHERE col LIKE CONCAT('%', %s, '%')"
cur.execute(sql, s)
(我假設execute
處理轉義,從而防止 SQL 注入。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.