最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python pymysql向SQL語句中傳參的多種方法

 更新時間:2023年05月15日 10:44:34   作者:ministep88  
這篇文章主要介紹了Python-pymysql如何向SQL語句中傳參,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

Python-pymysql如何向SQL語句中傳參

方法一:不傳遞參數

## 方式一、不傳遞參數
 id = "01"
 name = "語文"
 sql = "select * from course where course_id = '%s'  and course_name = '%s' ;" %(id,name)
 ## 執(zhí)行數據庫查詢或命令
 cursor.execute(sql)

方法二:使用數組傳遞參數

## 方式二、使用數組傳遞參數
  values = ['01','語文']
  sql = "select * from course where course_id = %s and course_name = %s "
  ## 執(zhí)行數據庫查詢或命令
  cursor.execute(sql,values)

注意:此處的占位符是%s,無論是字符串、數字或者其他類型,都是這個占位符。 %s不能加引號。

與第一種寫法,有什么區(qū)別呢?

兩者區(qū)別是對變量的解析:

第一種寫法,使用百分號%, 是用Python解釋器對%s執(zhí)行相應的替換。這種方法存在漏洞,有些時候不能正常解析,比如包含某些特殊字符,甚至會造成注入攻擊的風險。

第二種,變量是作為execute的參數傳入的,由MySQLdb的內置方法把變量解釋成合適的內容。

一般情況下,建議使用第二種方法,把變量作為參數傳遞給execute。

方法三:使用字典dict類型傳遞參數

## 方式三、使用字典dict類型傳遞參數
  sql = "select * from course where course_id = %(course_id)s and course_name =  %(course_name)s ;"
  ## 將參數封裝到字典
  #values = {'course_id':'01','course_name':'語文'}
  values = {'course_name':'語文','course_id':'01'}
  ## 執(zhí)行數據庫查詢或命令
  cursor.execute(sql,values)

這種方式,傳遞的參數對應關系比較清晰。尤其是參數比較多時,使用字典,可以保證傳遞參數的順序正確。

到此這篇關于Python-pymysql如何向SQL語句中傳參的文章就介紹到這了,更多相關Python sql語句傳參內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

北辰区| 吕梁市| 米脂县| 西城区| 砀山县| 如东县| 黎川县| 盱眙县| 壶关县| 孟连| 山西省| 柳林县| 安塞县| 葫芦岛市| 寿宁县| 土默特左旗| 兰西县| 滦平县| 开远市| 宿州市| 莎车县| 曲阜市| 锡林浩特市| 凤台县| 聂拉木县| 万山特区| 萍乡市| 澄江县| 宝山区| 广安市| 四子王旗| 白河县| 万山特区| 大丰市| 昌都县| 湖州市| 东方市| 策勒县| 定远县| 巴中市| 博乐市|