歡迎您光臨本站 註冊首頁

淺談pymysql查詢語句中帶有in時傳遞參數的問題

←手機掃碼閱讀     zhang3221994 @ 2020-06-08 , reply:0

直接給出例子說明:

  cs = conn.cursor()  img_ids = [1,2,3]  sql = "select img_url from img_url_table where id in %s"  cs.execute(sql, (img_ids, )) # 直接傳遞元組包裹列表即可

 

補充知識:Python將多行數據處理成SQL語句中where條件in(' ',' ',' ')的數據

在工作中有時需要查詢上萬行指定的數據,就會用到SQL語句中 select * from table1 where table1.name in (' ' , ' ' ) 的條件查詢,所以自己寫了個小小的Python腳本來處理這多行數據,廢話不多說,上代碼:

初級代碼:

  old_data = open("old_data.txt","r")  new_data = open("new_data.txt","w")  for line in old_data:   line=line.strip(' ')   new_data.write("'"+line+"',")  old_data.close()  new_data.close()

 

升級代碼:

  with open('old_data.txt','r') as f1:   with open('new_data.txt','w') as f2:    for line in f1:     line = line.strip(' ')     f2.write("'" + line + "',")

 

兩種代碼的效果都是一樣的,使用open()函數,最後一步就要手動寫調用close()方法,比較麻煩,所以升級後使用with 語句,這樣Python就幫我們自動調用close()方法。

效果如下:

不足:處理後的數據應去掉最後一個逗號,這樣才是最完整的SQL語句符合where in()條件的數據。         


[zhang3221994 ] 淺談pymysql查詢語句中帶有in時傳遞參數的問題已經有253次圍觀

http://coctec.com/docs/mysql/show-post-237477.html