1. 程式人生 > >python中的mysql數據庫like模糊查詢

python中的mysql數據庫like模糊查詢

script art exec -m con python abc san exe

近期工作在使用python語言開發項目,工作中遇到了一個python連接mysql的like查詢。

因為%在python中三個特殊的符號,如%s。%d分別代表了字符串占位符和數字占位符。

大家知道。mysql的模糊查詢也須要用到%。

我們有一張test表,要對name字段進行模糊查詢,預期的sql例如以下:

select * from test where name like ‘%abc%‘;

那麽python中怎麽寫呢?

sql = "select * from test where name like ‘%%%%%s%%%%‘"
sql = sql %("abc")  <span style="white-space:pre">	</span>#此處進行第一次轉義
print sql  <span style="white-space:pre">		</span>#A
cur = yield self.pool.execute(sql, ())   #B <span style="font-family: Arial, Helvetica, sans-serif;">#此處會進行第二次轉義</span>


A處打印的sql:

select * from test where name like ‘%%abc%%‘;
B處運行的sql會進行第二次轉義,實際運行的sql就為我們所預期的:

select * from test where name like ‘%abc%‘;






python中的mysql數據庫like模糊查詢