pyMySQL SQL語(yǔ)句傳參問(wèn)題,單個(gè)參數(shù)或多個(gè)參數(shù)說(shuō)明
在用pymysql操作數(shù)據(jù)庫(kù)的過(guò)程中,給sql語(yǔ)句傳參碰到了很多問(wèn)題,網(wǎng)上傳參策略很多,這里推薦兩種
單個(gè)傳參用%s,寫(xiě)起來(lái)比較簡(jiǎn)單:
field = '-' sql_talk="UPDATE cnp.Test set a='' where b='%s'" cursor.execute(sql_talk % field) db.commit()
多個(gè)傳參用{0}占位符:
field = '-' a = 'code' sql_talk="UPDATE cnp.Test set {0}='' where business_registration_code='{1}'".format(a,field) cursor.execute(sql_talk) db.commit()
補(bǔ)充知識(shí):python自動(dòng)化之pymysql庫(kù)使用變量向SQL語(yǔ)句中動(dòng)態(tài)傳遞參數(shù)(sql注入 || 傳參策略)
使用python 3連接Mysql實(shí)現(xiàn)自動(dòng)化增刪查改庫(kù)內(nèi)數(shù)據(jù),由于項(xiàng)目原因很多的sql語(yǔ)句過(guò)于復(fù)雜,導(dǎo)致sql語(yǔ)句內(nèi)傳遞的參數(shù)過(guò)多而且容易變動(dòng),導(dǎo)致很多同學(xué)不知從何下手動(dòng)態(tài)的傳遞參數(shù),有的采用比較笨的方法拼接sql,但是工作量太大,而且復(fù)雜的語(yǔ)句拼接時(shí)很容易出錯(cuò)且不好維護(hù),所以為大家整理了%s占位符的字典傳參的用法
import pymysql db = pymysql.connect(host="119.XX.XX.XX", port=3306, user="XXXXXXXX", passwd="XXXXXXXXXXXXX", db="XXXXXX", charset='utf8') # %s 占位符為需要傳遞的參數(shù),切記不要加''雙引號(hào),要不然會(huì)報(bào)錯(cuò) sql = "SELECT totalusercount * 1.4 FROM mm_project_uv_outdoor WHERE poiid = %s AND currenttime = %s" cursor = db.cursor() # 以下為傳遞多個(gè)參數(shù)的用法 cursor.execute(sql,['B00140N5CS','2019-04-23']) # 傳遞單個(gè)參數(shù)時(shí) cursor.execute(sql,'B00140N5CS') print(cursor.fetchall()) db.close()
運(yùn)行后就能得到所查詢(xún)的數(shù)據(jù)了
最后建議大家多看官方的文檔或標(biāo)準(zhǔn)教程,這樣更有益學(xué)習(xí)
以上這篇pyMySQL SQL語(yǔ)句傳參問(wèn)題,單個(gè)參數(shù)或多個(gè)參數(shù)說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python中操作mysql的pymysql模塊詳解
- Python中模塊pymysql查詢(xún)結(jié)果后如何獲取字段列表
- Python MySQL數(shù)據(jù)庫(kù)連接池組件pymysqlpool詳解
- 在python中使用pymysql往mysql數(shù)據(jù)庫(kù)中插入(insert)數(shù)據(jù)實(shí)例
- pymysql之cur.fetchall() 和cur.fetchone()用法詳解
- Python使用pymysql從MySQL數(shù)據(jù)庫(kù)中讀出數(shù)據(jù)的方法
- python使用pymysql實(shí)現(xiàn)操作mysql
- 詳解使用pymysql在python中對(duì)mysql的增刪改查操作(綜合)
- Python中pymysql 模塊的使用詳解
- 封裝一個(gè)python的pymysql操作類(lèi)
相關(guān)文章
Python的CGIHTTPServer交互實(shí)現(xiàn)詳解
本篇文章主要給大家詳細(xì)分析了Python的CGIHTTPServer交互實(shí)現(xiàn)過(guò)程以及相關(guān)代碼分享,有興趣的參考學(xué)習(xí)下。2018-02-02python 將數(shù)據(jù)保存為excel的xls格式(實(shí)例講解)
下面小編就為大家分享一篇python 將數(shù)據(jù)保存為excel的xls格式(實(shí)例講解),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)詳解
bitmap是很常用的數(shù)據(jù)結(jié)構(gòu),比如用于Bloom Filter中,下面是使用python實(shí)現(xiàn)bitmap數(shù)據(jù)結(jié)構(gòu)的代碼講解,需要的朋友可以參考下2014-02-02python 移動(dòng)圖片到另外一個(gè)文件夾的實(shí)例
今天小編就為大家分享一篇python 移動(dòng)圖片到另外一個(gè)文件夾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python爬蟲(chóng) urllib模塊url編碼處理詳解
這篇文章主要介紹了python爬蟲(chóng) urllib模塊url編碼處理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法詳解
這篇文章主要介紹了Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法,結(jié)合實(shí)例形式分析了django的第三方模塊django-pure-pagination的安裝、使用及實(shí)現(xiàn)分頁(yè)的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12解決pycharm不能自動(dòng)保存在遠(yuǎn)程linux中的問(wèn)題
這篇文章主要介紹了解決pycharm不能自動(dòng)保存在遠(yuǎn)程linux中的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Django 解決阿里云部署同步數(shù)據(jù)庫(kù)報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了Django 解決阿里云部署同步數(shù)據(jù)庫(kù)報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05