91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python?pymysql向SQL語句中傳參的方法有哪些

發布時間:2023-06-12 17:51:05 來源:億速云 閱讀:200 作者:栢白 欄目:開發技術

這篇文章主要介紹了Python pymysql向SQL語句中傳參的方法有哪些,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。

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

    • 方法一:不傳遞參數

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

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

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

方法一:不傳遞參數

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

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

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

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

與第一種寫法,有什么區別呢?

兩者區別是對變量的解析:

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

第二種,變量是作為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'}
  ## 執行數據庫查詢或命令
  cursor.execute(sql,values)

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

以上就是Python pymysql向SQL語句中傳參的方法有哪些的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來億速云行業資訊!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

木里| 延边| 扎兰屯市| 苏州市| 安宁市| 榕江县| 资中县| 临朐县| 会宁县| 朝阳区| 斗六市| 开封市| 银川市| 泰来县| 翁源县| 平利县| 固原市| 大同市| 峡江县| 龙海市| 厦门市| 文登市| 贵定县| 简阳市| 沅陵县| 醴陵市| 应城市| 敖汉旗| 拉萨市| 南岸区| 梁山县| 兴隆县| 宝兴县| 厦门市| 林周县| 彰武县| 防城港市| 中方县| 黎城县| 怀化市| 巴彦淖尔市|