共計 1767 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要介紹了 python 中 pymsql 模塊怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
一、pymysql 模塊的簡介。
pymysql 是 python3.x 版本用來操作 mysql 數據庫的一個模塊,其實和 python2.7 中的 MySQLdb 模塊的作用和操作語法都是一模一樣的。
可以通過 pip 來進行安裝:
pip3.5 install pymysql
pymysql 這種數據庫接口的使用,大概分為 4 個步驟:
執行連接數據庫 - 執行 query- 提取數據 - 關閉連接
在使用 pymysql 這個模塊時,你需要注意的。
Connection 連接對象。
雖然在 MySQLdb.Connect(host ,user , passw , db) 函數中,我們經常使用的只是這幾個參數,但是其實里面還有很多比如字符集、線程安全、ssl 等也都是很重要的參數,使用時要身份注意。
commit 提交。
對于 mysql 來說,如果使用支持事務的存儲引擎,那么每次操作后,commit 是必須的,否則不會真正寫入數據庫,對應 rollback 可以進行相應的回滾,但是 commit 后是無法再 rollback 的。commit() 可以在執行很多 sql 指令后再一次調用,這樣可以適當提升性能。
二、使用示例:
安裝好了之后,import 導入。
import pymysql
# 創建與數據庫的連接。
sql_conn=pymysql.connect(host= 10.39.0.5 ,port=3306,user= root ,passwd= 123456 ,db= db_1)
# 創建游標對象。
cursor = sql_conn.cursor()
hire_start = datetime.date(1999, 1, 1)
hire_end = datetime.date(2016, 12, 31)
# 執行 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)
# 獲取查詢結果:
如果做的是 select 查詢操作的話,在游標對象中 execute 這個查詢語句后,會返回一個結果集。
返回的這個結果集中,是有指針概念的。
#one=cursor.fetchone() #只獲取結果集中的第一條記錄。(獲取當前指針所在位置向下的一條記錄。)(獲取一條結果后,指針會向下移動一條記錄)
#many=cursor.fetchmany(2)# 以當前指針位置為基準,從結果集中向下獲取幾條記錄。
all=cursor.fetchall()# 以當前指針位置為基準,一直獲取到結果集結束的位置。(也可以理解為獲取結果集中所有的結果。)
scroll 移動指針:
#cursor.scroll(-1,mode= relative) # 相對當前位置移動
#cursor.scroll(2,mode= absolute) # 相對絕對位置移動
mode 為 relative 時是根據相對位置來移動指針的,整數代表向前移動幾行,負數代表向后移動幾行。
mode 為 absolute 時是根據絕對位置來移動指針的,前面的數字為幾,就會移動到結果集的第幾行。
!!!更改獲取結果的數據類型:
# 更改獲取數據結果的數據類型, 默認是元組, 可以改為字典等:conn.cursor(cursor=pymysql.cursors.DictCursor)
commit close:
對于 mysql 來說,如果使用支持事務的存儲引擎,那么每次操作后,commit 是必須的,否則不會真正寫入數據庫,對應 rollback 可以進行相應的回滾,但是 commit 后是無法再 rollback 的。commit() 可以在執行很多 sql 指令后再一次調用,這樣可以適當提升性能。
sql_conn.commit() #提交
cursor.close() #關閉游標
sql_conn.close() #關閉連接
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“python 中 pymsql 模塊怎么用”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!