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

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

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

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

方法一:不傳遞參數(shù)

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

方法二:使用數(shù)組傳遞參數(shù)

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

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

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

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

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

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

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

方法三:使用字典dict類型傳遞參數(shù)

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

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

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

相關文章

最新評論

易门县| 安康市| 保定市| 县级市| 宜宾县| 溧阳市| 兴城市| 武乡县| 吴旗县| 南宫市| 岐山县| 南漳县| 漳浦县| 来凤县| 清河县| 麦盖提县| 边坝县| 郑州市| 青龙| 屏山县| 沧州市| 富平县| 榆树市| 衡阳县| 安乡县| 麟游县| 南陵县| 北流市| 故城县| 虞城县| 盈江县| 论坛| 宁海县| 那坡县| 息烽县| 井陉县| 宝清县| 平昌县| 乐山市| 绥宁县| 平原县|