如何用Python操作MySQL
4 人贊了文章
工欲善其事,必先利其器。所以第一步,我們先下載第三方庫。在這裡,我用到的是pymysql庫。
下載庫:在命令行輸入
pip install pymysql
下載後可檢驗一下是否成功下載。直接在命令行進入python然後導庫即可
C:UsersJune>python
Python 3.6.3 |Anaconda, Inc.| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymysql
>>>
看到這個畫面就說明下載成功了,接下來學習如何操作資料庫了!!!
連接資料庫
import pymysql
# 連接資料庫
db = pymysql.connect(host=127.0.0.1,user=root,passwd=your password,db=news,port=3306,charset=utf8)
以上的參數是必填的
· host: 這個是ip地址,因為我這裡是本地的,所以填127.0.0.1,也可以填localhost。
· user:用戶名,如果你也是本地的,就填root好了
· passwd:這個是密碼,填上你自己設的密碼就可以了
· db:這個是資料庫名,我這裡選的是news資料庫
· port:這個是埠,本地的一般都是3306
· charset:這個是編碼方式,要和你資料庫的編碼方式一致,要不會連接失敗
連接上了,怎麼驗證呢?這裡我們可以選擇查一條數據
代碼解讀:因為在連接資料庫中,有時會發生連接失敗等異常,所以這裡就進行捕捉異常,這裡的異常都是在 pymsql.Error 裡面。上面的代碼看不懂也沒關係,因為我接下來會說,如果運行後有結果證明連接成功。
在用完後,一定要記得關閉資料庫連接,防止資源泄露問題。
對數據進行查詢
代碼解讀:
· cursor():這個是游標,用來執行mysql語句的,用完後也是需要關閉的
· excute():這個是執行語句,執行參數的mysql語句
· fetchone():這個是查看執行語句後的一條數據
· fetchall():這個是查看所有數據
在查詢數據後,返回的是一整條數據,有沒有可以按字典形式來查詢的呢?來試試!
查了之後,編譯器想都不想就給了我這個錯誤,說這是個元組,不能這樣操作。
雖然python沒有提供,但是我們可以手動轉成字典來查詢啊
cursor這裡有個屬性:description。獲取的是資料庫每個欄位情況,如下:
所以,我們利用這個屬性手動生成字典
考辛斯跟腱撕裂賽季報銷 濃眉詹皇發聲祝福
但是,上面的只是一條數據的,如果是多條的呢?再按上面的方法就行不通了。這時就需要用到map函數了
這裡很巧妙的利用了map函數,因為多條數據就可以進行迭代了,需要操作每條數據,這樣就可以想到map函數
接下來我們再用面向對象的方法來用python進行查詢資料庫
這樣就可以通過實例的方法來進行查詢資料庫了
我們還可以根據頁數來進行查詢指定的數據數
利用的是mysql的limit關鍵字,還有其他的,比如進行排序分組的感興趣的可以自己嘗試下
增加數據到資料庫
因為是增加數據,所以需要提交事務,這就需要用到conn .commit()來進行提交,在增加數據後,如果不提交,資料庫就不會顯示。
還有修改數據和刪除數據就不貼出來了,只是把上面的sql變數的語句改成修改或者刪除的語句就可以了,如果你還不會,建議練習下~
更多測試方法,請留言或前往51Testing軟體測試網-中國軟體測試人的精神家園學習哦~
推薦閱讀:
※打破砂鍋看原理,JMeter並發cookie問題小記
※Xebium詳解03-目錄結構和頁面類型
※測試用例好壞的評判標準
※視覺回歸測試 —— UI自動化的最後一公里。
※測試人員如何避免背黑鍋?