沒錯, 只能對 value 使用占位符. 在execute() 函數(shù)里, value 永遠不會被放回到 sql query string 中, 而是被存到別的地方, 需要的時候用.
創(chuàng)新互聯(lián)建站10年專注成都高端網站建設按需設計網站服務,為客戶提供專業(yè)的成都網站制作,成都網頁設計,成都網站設計服務;創(chuàng)新互聯(lián)建站服務內容包含成都網站建設,微信小程序開發(fā),軟件開發(fā),網絡營銷推廣,網絡運營服務及企業(yè)形象設計;創(chuàng)新互聯(lián)建站擁有眾多專業(yè)的高端網站制作開發(fā)團隊,資深的高端網頁設計團隊及經驗豐富的架構師高端網站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網絡營銷方案,解決網絡營銷疑問。
要想用動態(tài)選擇 table/column name, 只能采用python 自帶的 format() 函數(shù).
為了安全起見, 請勿讓用戶輸入 column name. 實在需要的話請小心地 sanitize. 嚴防 sql 注入攻擊.
1. 使用連接符: +
12
world = "World"print "Hello " + world + " ! "
2. 使用占位符來內插
world = "World"print "Hello %s !" % world
3. 使用函數(shù)
li = ['my','name','is','bob']mystr = ' '.join(li)print mystr
上面的語句中字符串是作為參數(shù)傳入的,可以直接用變量替換:
begin_date = '2012-04-06 00:00:00'end_date = '2012-04-06 23:59:59'select * from usb where time between to_date(begin_date,'YYYY-MM-DD HH24:MI:SS') and to_date(end_date,'YYYY-MM-DD HH24:MI:SS')
主要是"{}{}{}".format(i,j,k)這部分不明白吧?
籠統(tǒng)的說這東西叫做字符串的格式化,用大白話來說就是:
字符串中有一些可以被替換掉的占位符,而格式化的過程就是對這些占位符替換的過程,舉例來說:
“I am a {}”.format("student")
它表示將字符串"I am a {}"進行格式化,格式化的結果就是該字符串中的占位符{}被format()函數(shù)中的參數(shù)替換,就本例來說就是用"student"替換掉{},最終得到:
"I am a student"
*.如果字符串中有多個占位符,且占位符中沒有數(shù)字,則替換的時候使用format()中的變量從左到右依次對占位符{}進行替換,如:
a = "how"
b = "are"
c = "you"
"{} {} {}".format(a,b,c)執(zhí)行后的結果就是:
"how are you"
*.如果字符串中有多個占位符,且占位符中標有數(shù)字,則替換的時候占位符要用format()中相應位置的變量進行替換,如
a = "how"
b = "are"
c = "you"
“{2} {0} {1}".foramt(a,b,c)執(zhí)行后的結果是:
"you how are"
希望能幫助你,歡迎追問