當前位置:
首頁 > 最新 > 一步一步教你如何用python操作mysql

一步一步教你如何用python操作mysql

這是日常學python的第九篇原創文章

首先祝大家新年快樂哈!學生的估計明天也要上課了,工作的估計早就去上班了,我也快要上課了,哈哈,新年這段時間一直沒有寫過文章,一直忙於跑親戚和學習,感覺有點對不起關注我的粉絲。所以,今天決定抽空寫一篇技術文章來給大家看看,繼上篇寫了入門mysql之後,還沒有學習如何用python來操作資料庫,那我今天就帶大家來學習如何用python操操作資料庫。

還有文末有福利,這算是給大家的新年禮物(記得點贊哦)

進入正題

工欲善其事,必先利其器。所以第一步,我們先下載第三方庫。在這裡,我用到的是pymysql庫。

下載庫:在命令行輸入

下載後可檢驗一下是否成功下載。直接在命令行進入python然後導庫即可

看到這個畫面就說明下載成功了,接下來學習如何操作資料庫了!!!

1

連接資料庫

以上的參數是必填的,

host: 這個是ip地址,因為我這裡是本地的,所以填127.0.0.1,也可以填localhost。

user:用戶名,如果你也是本地的,就填root好了

passwd:這個是密碼,填上你自己設的密碼就可以了

db:這個是資料庫名,我這裡選的是news資料庫

port:這個是埠,本地的一般都是3306

charset:這個是編碼方式,要和你資料庫的編碼方式一致,要不會連接失敗

連接上了,怎麼驗證呢?這裡我們可以選擇查一條數據

代碼解讀:因為在連接資料庫中,有時會發生連接失敗等異常,所以這裡就進行捕捉異常,這裡的異常都是在pymsql.Error裡面。上面的代碼看不懂也沒關係,因為我接下來會說,如果運行後有結果證明連接成功。

在用完後,一定要記得關閉資料庫連接,防止資源泄露問題。

2

對數據進行查詢

代碼解讀:

cursor():這個是游標,用來執行mysql語句的,用完後也是需要關閉的

excute():這個是執行語句,執行參數的mysql語句

fetchone():這個是查看執行語句後的一條數據

fetchall():這個是查看所有數據

在查詢數據後,返回的是一整條數據,有沒有可以按字典形式來查詢的呢?來試試!

查了之後,編譯器想都不想就給了我這個錯誤,說這是個元組,不能這樣操作。

雖然python沒有提供,但是我們可以手動轉成字典來查詢啊

cursor這裡有個屬性:description。獲取的是資料庫每個欄位情況,如下:

所以,我們利用這個屬性手動生成字典

這裡利用zip函數和列表生成式來一行代碼就生成成功了

用字典來查詢,現在就可以了

但是,上面的只是一條數據的,如果是多條的呢?再按上面的方法就行不通了。這時就需要用到map函數了

這裡很巧妙的利用了map函數,因為多條數據就可以進行迭代了,需要操作每條數據,這樣就可以想到map函數

接下來我們再用面向對象的方法來用python進行查詢資料庫

這樣就可以通過實例的方法來進行查詢資料庫了

我們還可以根據頁數來進行查詢指定的數據數

利用的是mysql的limit關鍵字,還有其他的,比如進行排序分組的感興趣的可以自己嘗試下

3

增加數據到資料庫

因為是增加數據,所以需要提交事務,這就需要用到cursor.commit()來進行提交,在增加數據後,如果不提交,資料庫就不會顯示。

還有修改數據和刪除數據就不貼出來了,只是把上面的sql變數的語句改成修改或者刪除的語句就可以了,如果你還不會,建議練習下

END

代碼我放在github了,網站為https://github.com/SergioJune/gongzhonghao_code,有興趣的可以去看看,如果可以的話希望給個star哈!

這篇文章只適合入門的,如果需要學習更多的話可以去查看pymysql的文檔http://pymysql.readthedocs.io/en/latest/ 。

聽說還有個福利:放上某課的超多付費視頻

鏈接:https://pan.baidu.com/s/1qYwSFiG


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 日常學python 的精彩文章:

今天來認識下資料庫

TAG:日常學python |