python積累之數據庫的精講--與存儲的交互

本來在考慮要不要在一章裏挑出幾個模塊來進行講解,發現內容有點多,本章主要介紹兩個模塊

1.mysql   

2.mssql

我們公司現在用的是mysql和sqlserver 所以總結出來兩套常用數據庫類型供大家使用。 之後的儲存系統redis和rabbitMQ消息隊列會在之後的章節爲大家列出

我所寫的所有模塊都是基礎模塊,在工作中肯定能夠用到。很多人在剛開始都是一個問題,其實就是東西太多不知道學什麼,作爲已經有一段經驗的人我希望能把這些必須學會的東西列出來,大家勤加練習,其實框架就是多個知識點做一套能用於工作的管理體系,我們用代碼製作出來可能一開始沒有其他成熟的工具那麼方便,但是在積累的過程中,框架優化的過程中,能根據公司的業務來時時改變,能用python做到隨心所欲。而不是受制於工具的約束,也能方便維護,快速定位問題在哪,畢竟是自己親手寫的。但是搭建一個框架說難其實不難,但是每個瑣碎的知識點你都是必須要會的,最起碼知道他能做什麼事情,所以在這個過程中我會把需要用到的所有模塊知識,包括能夠在工作中經常用到的東西列出來,歡迎大家補充,希望喜歡學習的人能一起進步,跟着我一步一步的敲代碼~


首先要自己在本地搭建一個屬於自己的mysql數據庫,搭建過程希望大家自己百度學習,下載navicat對其進行連接




如上圖 需要5個參數打印出來conn對象信息爲


完成以上步驟就連接成功了。

第二步我們需要創建遊標,如果有人不懂遊標的概念的話推薦看一下點擊觀看遊標概念


如果數據庫含有中文字段的話 我們需要在connect時傳遞一個編碼參數,如下圖


第三步執行操作:使用遊標進行查詢:


這裏會有遊標大家可以看一下下圖和上圖得區別,我移動了遊標到初始位置所以可以重複查詢


知識點:1.查詢時操作遊標  fetchall 查詢全部 fetchone查詢一條 還有一個fetchmany傳參查詢多條

              2.在操作後如果想歸0則需要操作遊標歸0   cursor.scroll(0,mode='absolute')

scroll(self, value, mode='relative'):移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果 mode='absolute',則表示從結果集的第一行移動value條.



我們所查詢出來得所有數據都是以元祖的形式返回,如果想改變其返回格式,則在連接數據庫的時候加一條參數

cursorclass = pymysql.cursors.DictCursor


則返回結果變成字典形式

說白了 其實執行sql語句,增刪改和查的區別就是在使用遊標完成sql之後執行commit() 提交,查詢不需要,而增刪改都需要commit來進行提交操作,最後要記住關閉數據庫連接


以上是他們的函數封裝圖

總結:連接數據庫,創建遊標,執行sql,若爲增刪改需要db.commit 若爲查詢則根據以上知識點進行數據處理和查詢內容,最後關閉數據庫連接,先關閉遊標,在關閉數據庫


最後還有一點是事物回滾,conn.rollback()

如果在操作數據庫的過程中,有三條語句,執行兩條後失敗了一條,我們可以在try except中的異常處理增加事物回滾,它的作用是將遊標回滾到執行之前的狀態,則全部可以重新執行。

大家瞭解一下最後一點就行了,不寫也沒關係,因爲pymyssql自動支持了事物回滾。



當我們學會了pymysql的操作時,其實第二部分內容也就會了,只是數據庫類型換成了pymssql,sqlserver的操作而已

最後貼出來關於pumssql的在實際工作中的封裝



以上是關於數據庫操作在實際工作中的封裝,有看不懂的地方記得百度,因爲都是一些瑣碎的知識點,當然在剛開始的時候引入的從配置文件中讀取一些內容我們下一節就會講到,如何管理我們常用的配置,有多種配置文件可以選擇。希望大家勤加練習

發佈了40 篇原創文章 · 獲贊 48 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章