电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python MySQLdb 執行sql語句時的參數傳遞方式

瀏覽:41日期:2022-08-04 13:16:46

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

1.不傳遞參數

conn = MySQLdb.connect(user='root',passwd='123456',host='192.168.101.23',db='cmdb')orange_id = 98sql = 'select * from orange where id=%s' % orange_idcursor = conn.cursor(sql)cursor.execute()

2.傳遞參數

color = 'yellow'sql = 'select * from orange where color = %s'

cursor.execute(sql, color)

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

另外, %s不能加引號,如’%s’, 這是錯誤的寫法。

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

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

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

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

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

3.使用字典dict類型傳遞參數

sql = 'select * from orange where %(color)s, %(weight)s'values = {'color': 'yellow', 'weight': 30}cursor.execute(sql, values)

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

補充知識:python自動化之pymysql庫使用變量向SQL語句中動態傳遞參數(sql注入 || 傳參策略)

使用python 3連接Mysql實現自動化增刪查改庫內數據,由于項目原因很多的sql語句過于復雜,導致sql語句內傳遞的參數過多而且容易變動,導致很多同學不知從何下手動態的傳遞參數,有的采用比較笨的方法拼接sql,但是工作量太大,而且復雜的語句拼接時很容易出錯且不好維護,所以為大家整理了%s占位符的字典傳參的用法

import pymysql db = pymysql.connect(host='119.XX.XX.XX', port=3306, user='XXXXXXXX', passwd='XXXXXXXXXXXXX', db='XXXXXX', charset=’utf8’) # %s 占位符為需要傳遞的參數,切記不要加’’雙引號,要不然會報錯sql = 'SELECT totalusercount * 1.4 FROM mm_project_uv_outdoor WHERE poiid = %s AND currenttime = %s' cursor = db.cursor()# 以下為傳遞多個參數的用法cursor.execute(sql,[’B00140N5CS’,’2019-04-23’])# 傳遞單個參數時 cursor.execute(sql,’B00140N5CS’)print(cursor.fetchall())db.close()

運行后就能得到所查詢的數據了

Python MySQLdb 執行sql語句時的參數傳遞方式

最后建議大家多看官方的文檔或標準教程,這樣更有益學習

以上這篇Python MySQLdb 執行sql語句時的參數傳遞方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 凝胶成像系统(wb成像系统)百科-上海嘉鹏 | 国产离子色谱仪,红外分光测油仪,自动烟尘烟气测试仪-青岛埃仑通用科技有限公司 | 地埋式垃圾站厂家【佳星环保】小区压缩垃圾中转站转运站 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 517瓜水果特产网|一个专注特产好物的网站| 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 奥运星-汽车性能网评-提供个性化汽车资讯 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 防伪溯源|防窜货|微信二维码营销|兆信_行业内领先的防伪防窜货数字化营销解决方案供应商 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 快速门厂家批发_PVC快速卷帘门_高速门_高速卷帘门-广州万盛门业 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 退火炉,燃气退火炉,燃气热处理炉生产厂家-丹阳市丰泰工业炉有限公司 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 |