




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Python接口自動(dòng)化淺析pymysql數(shù)據(jù)庫(kù)操作流程目錄一、pymysql介紹及安裝01pymysql介紹02pymysql安裝二、pymysql流程及模塊說(shuō)明01pymysql操作流程02pymysql模塊說(shuō)明Connection對(duì)象對(duì)象的方法Cursor對(duì)象對(duì)象的屬性三、pymysql語(yǔ)法基礎(chǔ)01代碼示例02語(yǔ)法總結(jié)四、封裝數(shù)據(jù)庫(kù)類01封裝說(shuō)明在上一篇Python接口自動(dòng)化測(cè)試系列文章:Python接口自動(dòng)化淺析yaml配置文件原理及用法,主要介紹主要介紹yaml語(yǔ)法、yaml存儲(chǔ)數(shù)據(jù),封裝類讀寫yaml配置文件。
在自動(dòng)化過(guò)程中,我們需要查詢數(shù)據(jù)庫(kù),校驗(yàn)結(jié)果是否正確,比如充值完成之后,需要查詢數(shù)據(jù)庫(kù),查看充值是否成功。
以下主要介紹,pymysql安裝、操作流程、語(yǔ)法基礎(chǔ)及封裝操作數(shù)據(jù)庫(kù)類。
一、pymysql介紹及安裝
01pymysql介紹
MySQL應(yīng)該說(shuō)是如今使用最為普遍的數(shù)據(jù)庫(kù)了,沒(méi)有之一,而Python作為最為流行的語(yǔ)言之一,自然少不了與MySQL打交道,其中PyMySQL就是使用最多的工具庫(kù)。
PyMySQL是一個(gè)純Python寫的MySQL客戶端,可以在CPython、PyPy、IronPython和Jython環(huán)境下運(yùn)行;
PyMySQL的性能和MySQLdb幾乎相當(dāng),如果對(duì)性能要求不是特別的強(qiáng),使用PyMySQL將更加方便;
PyMySQL的使用方法和MySQLdb幾乎一樣;
02pymysql安裝
方式一:使用命令安裝
pipinstallpymysql
方式二:PyCharm內(nèi)部安裝
導(dǎo)入模塊:
importpymysql
二、pymysql流程及模塊說(shuō)明
01pymysql操作流程
導(dǎo)入pymysql;
建立數(shù)據(jù)庫(kù)連接:使用pymysql的connect()方法連接數(shù)據(jù),返回連接對(duì)象;
使用連接對(duì)象創(chuàng)建游標(biāo)對(duì)象(用于操作sql);
準(zhǔn)備寫sql語(yǔ)句(select*fromstudent);
使用游標(biāo)對(duì)象執(zhí)行sql;
查詢數(shù)據(jù)使用游標(biāo)獲取;
關(guān)閉游標(biāo)(先)和數(shù)據(jù)庫(kù)連接(后)。
02
02pymysql模塊說(shuō)明
Connection對(duì)象
表示:conn=connect(參數(shù)列表)
作用:用于建立與數(shù)據(jù)庫(kù)的連接;
創(chuàng)建對(duì)象:調(diào)用connect()方法;
參數(shù)列表:
host:連接的mysql主機(jī),如本機(jī)是'localhost';
port:連接的mysql主機(jī)的端口,默認(rèn)是3306;
database:數(shù)據(jù)庫(kù)的名稱;
user:連接的用戶名;
password:連接的密碼;
charset:通信采用的編碼方式,推薦使用utf8;
對(duì)象的方法
對(duì)象方法如下:
close():關(guān)閉連接;
commit():提交;
cursor():返回Cursor對(duì)象,用于執(zhí)行sql語(yǔ)句并獲得結(jié)果;
execute(operation[,parameters]):執(zhí)行語(yǔ)句,返回受影響的行數(shù),主要用于執(zhí)行insert、update、delete語(yǔ)句,也可以執(zhí)行create、alter、drop等語(yǔ)句;
fetchone():執(zhí)行查詢語(yǔ)句時(shí),獲取查詢結(jié)果集的第一個(gè)行數(shù)據(jù),返回一個(gè)元組;
fetchall():執(zhí)行查詢時(shí),獲取結(jié)果集的所有行,一行構(gòu)成一個(gè)元組,再將這些元組裝入一個(gè)元組返回;
關(guān)于pymysql防注入,字符串拼接查詢,容易造成注入,為了避免注入,使用pymysql提供的參數(shù)化語(yǔ)句;
Cursor對(duì)象
游標(biāo)(cursor)就是游動(dòng)的標(biāo)識(shí),通俗的說(shuō),一條sql取出對(duì)應(yīng)n條結(jié)果資源的接口/句柄,就是游標(biāo),沿著游標(biāo)可以一次取出一行。
用于執(zhí)行sql語(yǔ)句,使用頻度最高的語(yǔ)句為select、insert、update、delete;
獲取Cursor對(duì)象:調(diào)用Connection對(duì)象的cursor()方法:cs1=conn.cursor()
對(duì)象的屬性
rowcount只讀屬性,表示最近一次execute()執(zhí)行后受影響的行數(shù);
connection獲得當(dāng)前連接對(duì)象;
三、pymysql語(yǔ)法基礎(chǔ)
01代碼示例
importpymysql
#連接數(shù)據(jù)庫(kù)
conn=pymysql.connect(host='',user='ITester',password='123456',
database='ITester',charset='utf8')
#創(chuàng)建游標(biāo)
cursor=conn.cursor()
#執(zhí)行sql語(yǔ)句
sql='select*fromuserlimit3;'
res=cursor.execute(sql)
#獲取查詢結(jié)果的1條數(shù)據(jù)
data=cursor.fetchone()
print(data)
#關(guān)閉游標(biāo)連接
cursor.close()
#關(guān)閉數(shù)據(jù)庫(kù)連接
conn.close()
02語(yǔ)法總結(jié)
1.連接數(shù)據(jù)庫(kù),需要host、user、password、database、charset等信息;
2.操作數(shù)據(jù)庫(kù)先創(chuàng)建游標(biāo);
3.執(zhí)行指定的sql語(yǔ)句,如果涉及到增、刪、改數(shù)據(jù)庫(kù)必須要mit(),提交事務(wù)
4.查詢獲取數(shù)據(jù)條數(shù)有三種方法fetchone、fetchmany、fetchall。
cursor.fetchone():默認(rèn)獲取查詢結(jié)果的第一條數(shù)據(jù);
cursor.fetchmany(2):獲取查詢結(jié)果的指定條數(shù),比如獲取2條數(shù)據(jù);
cursor.fetchall():獲取查詢結(jié)果的所有數(shù)據(jù);
5.需要注意的是,fetch獲取的數(shù)據(jù)默認(rèn)是元組,如果想要字典類型,
cursor=pymysql.cursors.DictCursor;
6.先關(guān)閉游標(biāo),后關(guān)閉數(shù)據(jù)庫(kù)連接;
四、封裝數(shù)據(jù)庫(kù)類
01封裝說(shuō)明
在實(shí)際項(xiàng)目中,很多地方都有用到數(shù)據(jù)庫(kù)的操作,所以需要將數(shù)據(jù)庫(kù)相關(guān)操作進(jìn)行封裝,方便其他模塊調(diào)用。
如下,在common目錄下,新建文件db_handler.py用于封裝數(shù)據(jù)庫(kù)操作。
db_handler.py
importpymysql
classDBHandler:
def__init__(self,host,port,user,password,
database,charset,**kwargs):
#連接數(shù)據(jù)庫(kù)服務(wù)器
self.conn=pymysql.connect(host=host,port=port,user=user,password=password,
database=database,cursor"__main__":
db=DBHandler(host='',port=3306,
user='ITester',password='123456',
database='ITester',charset='u
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 光學(xué)軟件測(cè)試題及答案
- 美術(shù)培訓(xùn)講座
- 2025年 阜陽(yáng)臨泉城關(guān)街道桃花源幼兒園教師招聘考試筆試試卷附答案
- 2025年 北京公務(wù)員考試筆試考試試卷附答案
- 2025年主題團(tuán)日活動(dòng)策劃與實(shí)施
- 小學(xué)交通教育課件
- 左膝關(guān)節(jié)置換術(shù)后護(hù)理
- 2025年中國(guó)墨西哥胡椒鹽行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 子宮畸形超聲分類及診斷
- 支氣管肺炎相關(guān)疾病知識(shí)
- 2024年浙江寧波慈溪市民政局及所屬事業(yè)單位招聘編外用工6人歷年(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 角色轉(zhuǎn)身-從校園到職場(chǎng)
- 電力設(shè)計(jì)創(chuàng)新創(chuàng)業(yè)項(xiàng)目計(jì)劃書
- 【語(yǔ)文】2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修下冊(cè) 課本知識(shí)要點(diǎn)梳理 課件
- 2024年南昌市產(chǎn)業(yè)投資集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 試驗(yàn)檢測(cè)單位安全培訓(xùn)課件
- 2024屆高考語(yǔ)文二輪復(fù)習(xí)小說(shuō)專題訓(xùn)練凌叔華小說(shuō)(含解析)
- 新概念英語(yǔ)第二冊(cè)課文及翻譯
- 電子商務(wù)招生宣傳
- 橋梁系梁施工方案
評(píng)論
0/150
提交評(píng)論