python中pymsql模塊怎么用

這篇文章主要介紹了python中pymsql模塊怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站專注于玉溪網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供玉溪營銷型網(wǎng)站建設(shè),玉溪網(wǎng)站制作、玉溪網(wǎng)頁設(shè)計(jì)、玉溪網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造玉溪網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供玉溪網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

一、pyMySQL模塊的簡介。

pymysql是python3.x版本用來操作mysql數(shù)據(jù)庫的一個(gè)模塊,其實(shí)和python2.7中的MySQLdb模塊的作用和操作語法都是一模一樣的。

可以通過pip來進(jìn)行安裝:

pip3.5 install pymysql

pymysql這種數(shù)據(jù)庫接口的使用,大概分為4個(gè)步驟:

執(zhí)行連接數(shù)據(jù)庫->執(zhí)行query->提取數(shù)據(jù)->關(guān)閉連接

在使用pymysql這個(gè)模塊時(shí),你需要注意的。

  1. Connection 連接對象。

    雖然在MySQLdb.Connect(host ,user , passw , db)函數(shù)中,我們經(jīng)常使用的只是這幾個(gè)參數(shù),但是其實(shí)里面還有很多比如字符集、線程安全、ssl等也都是很重要的參數(shù),使用時(shí)要身份注意。

  2. commit 提交。

    對于mysql來說,如果使用支持事務(wù)的存儲(chǔ)引擎,那么每次操作后,commit是必須的,否則不會(huì)真正寫入數(shù)據(jù)庫,對應(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ù)庫的連接。

sql_conn=pymysql.connect(host='10.39.0.5',port=3306,user='root',passwd='123456',db='db_1')

#創(chuàng)建游標(biāo)對象。

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)對象中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')  # 相對當(dāng)前位置移動(dòng)

#cursor.scroll(2,mode='absolute') # 相對絕對位置移動(dòng)

mode為relative時(shí)是根據(jù)相對位置來移動(dòng)指針的,整數(shù)代表向前移動(dòng)幾行,負(fù)數(shù)代表向后移動(dòng)幾行。

mode為absolute時(shí)是根據(jù)絕對位置來移動(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:

對于mysql來說,如果使用支持事務(wù)的存儲(chǔ)引擎,那么每次操作后,commit是必須的,否則不會(huì)真正寫入數(shù)據(jù)庫,對應(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模塊怎么用”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

當(dāng)前題目:python中pymsql模塊怎么用
新聞來源:http://muchs.cn/article34/ipgise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)頁設(shè)計(jì)公司、商城網(wǎng)站App設(shè)計(jì)、面包屑導(dǎo)航關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司