Python具有與數據庫接口的各種庫,這些庫提供了一種構建SQL查詢的好方法,而不用擔心SQL注入。例如,與sqlite3的:在Python中格式化SQL查詢而不執行它
for t in [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
('2006-04-05', 'BUY', 'MSOFT', 1000, 72.00),
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
]:
c.execute('insert into stocks values (?,?,?,?,?)', t)
麻煩的是,我不想執行查詢,我只是想格式化並得到查詢作爲字符串。我想我可以自己逃避,但這不是一個非常優雅的解決方案。必須有一種方法來獲得格式化的查詢,而無需實際連接到數據庫並運行它們。
(上下文是我正在寫一個過濾器準備了一系列從輸入的SQL語句,但我不想在特定數據庫上運行它們,只存下來。)
我不相信這是Python正在做的事......是不是能夠使用在驅動程序級別處理的參數?即,我將使用ASP.Net或Java中完全相同的SQL代碼來與數據庫交談。 – mellamokb