python數據庫連接之pyMysql -(二):使用變量向SQL語句中傳遞參數


使用MySQLdb連接數據庫執行sql語句時,有以下幾種傳遞參數的方法:

 

一.通過自定義參數傳遞:

import  pymysql
import types

dbinfo={"host":"192.168.6.41",
        "user":"lrtsaudio",
        "password":"2&Ty3DW75i!(vgo.l3Odp1fgWgEG",
        "db":"audiobook"
}

rule=1
sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s"% rule
connect1=pymysql.connect(**dbinfo)
cursor1=connect1.cursor()
cursor1.execute(sql)
r2=cursor1.fetchmany(2)
print(r2)
cursor1.close()
connect1.close

*這種方法跟常規方法區別不大,且存在漏洞。有些時候不能正常解析,比如包含某些特殊字符,甚至會造成注入攻擊的風險。-----不常用,有人用的時候能看懂即可。

傳入多個參數的用法:

 

二.執行語句傳遞參數。(可傳遞多個參數)

......
#值用“%s”占位符占位(無論是字符串、數字或者其他類型,都是使用這個占位符)
sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s"
connect1=pymysql.connect(**dbinfo)
cursor1=connect1.cursor()
#執行時,傳遞對應的參數
cursor1.execute(sql,1)
......

 

三、使用字典類型傳遞參數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM