您好,登錄后才能下訂單哦!
這篇文章主要介紹了python中pymsql模塊怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、pymysql模塊的簡(jiǎn)介。
pymysql是python3.x版本用來操作mysql數(shù)據(jù)庫(kù)的一個(gè)模塊,其實(shí)和python2.7中的MySQLdb模塊的作用和操作語法都是一模一樣的。
可以通過pip來進(jìn)行安裝:
pip3.5 install pymysql
pymysql這種數(shù)據(jù)庫(kù)接口的使用,大概分為4個(gè)步驟:
執(zhí)行連接數(shù)據(jù)庫(kù)->執(zhí)行query->提取數(shù)據(jù)->關(guān)閉連接
在使用pymysql這個(gè)模塊時(shí),你需要注意的。
Connection 連接對(duì)象。
雖然在MySQLdb.Connect(host ,user , passw , db)函數(shù)中,我們經(jīng)常使用的只是這幾個(gè)參數(shù),但是其實(shí)里面還有很多比如字符集、線程安全、ssl等也都是很重要的參數(shù),使用時(shí)要身份注意。
commit 提交。
對(duì)于mysql來說,如果使用支持事務(wù)的存儲(chǔ)引擎,那么每次操作后,commit是必須的,否則不會(huì)真正寫入數(shù)據(jù)庫(kù),對(duì)應(yīng)rollback可以進(jìn)行相應(yīng)的回滾,但是commit后是無法再rollback的。commit() 可以在執(zhí)行很多sql指令后再一次調(diào)用,這樣可以適當(dāng)提升性能。
二、使用示例:
安裝好了之后,import導(dǎo)入。
import pymysql
#創(chuàng)建與數(shù)據(jù)庫(kù)的連接。
sql_conn=pymysql.connect(host='10.39.0.5',port=3306,user='root',passwd='123456',db='db_1')
#創(chuàng)建游標(biāo)對(duì)象。
cursor = sql_conn.cursor()
hire_start = datetime.date(1999, 1, 1)
hire_end = datetime.date(2016, 12, 31)
#執(zhí)行sql語句。
sql = 'SELECT first_name, last_name, hire_date FROM employees WHERE hire_date BETWEEN %s AND %s' %(hire_start,hire_end)
cursor.execute(sql)
#獲取查詢結(jié)果:
如果做的是select查詢操作的話,在游標(biāo)對(duì)象中execute這個(gè)查詢語句后,會(huì)返回一個(gè)結(jié)果集。
返回的這個(gè)結(jié)果集中,是有指針概念的。
#one=cursor.fetchone() #只獲取結(jié)果集中的第一條記錄。(獲取當(dāng)前指針?biāo)谖恢孟蛳碌囊粭l記錄。)(獲取一條結(jié)果后,指針會(huì)向下移動(dòng)一條記錄)
#many=cursor.fetchmany(2)#以當(dāng)前指針位置為基準(zhǔn),從結(jié)果集中向下獲取幾條記錄。
all=cursor.fetchall()#以當(dāng)前指針位置為基準(zhǔn),一直獲取到結(jié)果集結(jié)束的位置。(也可以理解為獲取結(jié)果集中所有的結(jié)果。)
scroll 移動(dòng)指針:
#cursor.scroll(-1,mode='relative') # 相對(duì)當(dāng)前位置移動(dòng)
#cursor.scroll(2,mode='absolute') # 相對(duì)絕對(duì)位置移動(dòng)
mode為relative時(shí)是根據(jù)相對(duì)位置來移動(dòng)指針的,整數(shù)代表向前移動(dòng)幾行,負(fù)數(shù)代表向后移動(dòng)幾行。
mode為absolute時(shí)是根據(jù)絕對(duì)位置來移動(dòng)指針的,前面的數(shù)字為幾,就會(huì)移動(dòng)到結(jié)果集的第幾行。
!??!更改獲取結(jié)果的數(shù)據(jù)類型:
#更改獲取數(shù)據(jù)結(jié)果的數(shù)據(jù)類型,默認(rèn)是元組,可以改為字典等:conn.cursor(cursor=pymysql.cursors.DictCursor)
commit & close:
對(duì)于mysql來說,如果使用支持事務(wù)的存儲(chǔ)引擎,那么每次操作后,commit是必須的,否則不會(huì)真正寫入數(shù)據(jù)庫(kù),對(duì)應(yīng)rollback可以進(jìn)行相應(yīng)的回滾,但是commit后是無法再rollback的。commit() 可以在執(zhí)行很多sql指令后再一次調(diào)用,這樣可以適當(dāng)提升性能。
sql_conn.commit() #提交
cursor.close() #關(guān)閉游標(biāo)
sql_conn.close() #關(guān)閉連接
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python中pymsql模塊怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。