python中的pymysql_(转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html
https://shockerli.net/post/python3-pymysql/----Python 3 進(jìn)階 —— 使用 PyMySQL 操作 MySQL
前言
pymsql是Python中操作MySQL的模塊,其使用方法和MySQLdb幾乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。
本文測(cè)試python版本:2.7.11。mysql版本:5.6.24
一、安裝
二、使用操作
1、執(zhí)行SQL
注意:存在中文的時(shí)候,連接需要添加charset='utf8',否則中文顯示亂碼。
2、獲取查詢數(shù)據(jù)
3、獲取新創(chuàng)建數(shù)據(jù)自增ID
可以獲取到最新自增的ID,也就是最后插入的一條數(shù)據(jù)ID
4、移動(dòng)游標(biāo)
操作都是靠游標(biāo),那對(duì)游標(biāo)的控制也是必須的
5、fetch數(shù)據(jù)類型
關(guān)于默認(rèn)獲取的數(shù)據(jù)是元祖類型,如果想要或者字典類型的數(shù)據(jù),即:
6、調(diào)用存儲(chǔ)過程
a、調(diào)用無參存儲(chǔ)過程
b、調(diào)用有參存儲(chǔ)過程
三、關(guān)于pymysql防注入
1、字符串拼接查詢,造成注入
正常查詢語句:
構(gòu)造注入語句:
2、避免注入,使用pymysql提供的參數(shù)化語句
正常參數(shù)化查詢
構(gòu)造注入,參數(shù)化查詢注入失敗。
結(jié)論:excute執(zhí)行SQL語句的時(shí)候,必須使用參數(shù)化的方式,否則必然產(chǎn)生SQL注入漏洞。
3、使用存mysql儲(chǔ)過程動(dòng)態(tài)執(zhí)行SQL防注入
使用MYSQL存儲(chǔ)過程自動(dòng)提供防注入,動(dòng)態(tài)傳入SQL到存儲(chǔ)過程執(zhí)行語句。
pymsql中調(diào)用
四、使用with簡(jiǎn)化連接過程
每次都連接關(guān)閉很麻煩,使用上下文管理,簡(jiǎn)化連接過程
總結(jié)
以上就是關(guān)于Python中pymysql模塊的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)或使用python能有一定的幫助,如果有疑問大家可以留言交流。
總結(jié)
以上是生活随笔為你收集整理的python中的pymysql_(转)Python中操作mysql的pymysql模块详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 采用我国国产处理器的超级计算机是,“中国
- 下一篇: IDEA创建SpringBoot