python中的mysql數據庫like模糊查詢
阿新 • • 發佈:2018-03-18
script art exec -m con python abc san exe
那麽python中怎麽寫呢?
A處打印的sql:
近期工作在使用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模糊查詢