一 pymysql
1.1 pymysql介紹
pymysql是一個連接mysql數據庫的第三方模塊,可作為連接mysql數據庫的客戶端,對數據庫進行增刪改查操作
1.2 pymysql作用
作為mysql客戶端操作數據
1.3 pymysql安裝要求
- python版本大于3.x
- mysql版本大于5.5
1.4 pymysql安裝
使用命令行窗口或者在集成工具(如Pycharm)的終端輸入以下命令
pip install pymysql
- 使用WIN+R打開運行框,輸入cmd,敲擊回車鍵,在彈出的命令行窗口中輸入命令
image-20210524105151233.png
image-20210524104838020.png -
Pycharm中安裝pymysql
image-20210524105452177.png - 如果使用的是Anaconda,打開Anaconda Prompt,輸入安裝命令
image-20210524110004075.png
image-20210524110048116.png
1.5 pymysql操作流程
- 導入pymysql
- 使用pymysql的connect()方法連接數據,返回連接對象
- 使用連接對象創建游標對象(用于操作sql)
- 準備寫sql語句(eg:select * from student)
- 使用游標對象執行sql(發送)(沒有查詢數據返回受影響的行數)
- 有查詢數據使用游標獲取
- 關閉游標(先)和數據庫連接(后)
二 數據庫連接對象相關操作
- 連接語法
連接對象 = pymysql.connect(
host='連接地址 localhost , ip 地址',
port=端口號,默認3306,
user='用戶名',
password='密碼',
database='數據庫名',
charset='utf8'
)
- 創建游標對象
游標對象=連接對象.cursor(cursor=None)
參數說明:指定游標的類型
'Cursor':默認
'SSCursor':默認基礎上采用的生成器
'DictCursor':字典類型游標
'SSDictCursor':在字典采用生成器方式
- 切換數據庫
數據庫連接對象.select_db(數據庫名)
- 關閉連接
連接對象.close()
- 事務操作
連接對象.begin():開啟事務,默認開啟
連接對象.commit():提交事務
連接對象.rollback():回滾事務
注意:pymysql鑒于安全考慮,所有的寫(insert,delete,update)操作都必須使用事務
三 游標對象使用
游標是SQL的一個內存工作區,由系統或用戶以變量的形式定義。游標的作用就是用于臨時存儲從數據庫中提取的數據塊。在某些情況下,需要把數據從存放在磁盤的表中調到計算機內存中進行處理,最后將處理結果顯示出來或最終寫回數據庫。這樣數據處理的速度才會提高,否則頻繁的磁盤數據交換會降低效率。
- 執行sql語句
游標對象.execute(sql,args=None)
a.完整sql語句則直接傳第一個參數
(如果通過傳入的形式拼接的sql語句,容易造成sql注入風險,sql注入是惡意用于構建sql參數傳入,從而非法獲取數據)
b.如果sql語句是使用%s占位時則使用第二個參數args(實際數據)
- 獲取數據
游標對象.fetchall():獲取所有
游標對象.fetchone():獲取下一條
游標對象.fetchmany():獲取指定條數據
- 關閉游標
游標對象.close()