簡體   English   中英

如何在Python MySQL查詢上插入字符串?

[英]How to insert strings on a Python MySQL Query?

我是Python新手,正在嘗試查詢MySQL數據庫。 MySQL語法已在PHP上進行了測試,並且可以正常工作,但是Python參數對我來說是新的,並且給我一個錯誤。 你可以幫幫我嗎?

pom = "Alcobaça"
data_inicial = "2012-12-01"
data_final = "2012-12-05"

cur.execute("SELECT DATE(DTM), POM, ROUND(MIN(TMP),1)
FROM dados_meteo WHERE POM =%s
AND DATE(DTM) >=%s AND DATE(DTM) <=%s"
%(pom,data_inicial,data_final))

您似乎正在使用MySQLdb模塊。 如果是這樣,您可以(並且應該)使用execute的內置第二個參數,並將輸入作為元組傳遞,如下所示:

c.execute( \
    "SELECT DATE(DTM), POM, ROUND(MIN(TMP),1) FROM \
        dados_meteo WHERE POM = %s AND DATE(DTM) >= %s AND DATE(DTM) <= %s", \
    (pom, data_inicial, data_final))

這樣做而不是使用%來內聯格式化字符串。 將數據提供給MySQLdb允許它引用和轉義您的字符串。 現在,查詢中的字符串都不會被引用或轉義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM