在本地搭建MySQL進行數據處理
如果問大家:「在日常用什麼工具來處理數據?」,相信大部分的人都會說「Excel」,很顯然Excel是我們日常必備的辦公軟體,但它並不是萬能的,最明顯的缺陷就是有行數的限制,對一些複雜的數據處理無能為力,Excel2007前的版本是支持65536行(2的16次方),之後是支持1048576行(2的20次方),但我們經常會遇到超過行數限制的數據,怎麼辦?別急,下面我教大家個方法來處理。
一、工具包安裝:
「欲善其事必利其器」下面主角來了:
(1)MySQL
MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle 旗下產品。MySQL也是當前最流行的關係型資料庫管理系統之一。
官方網站:https://www.mysql.com/
下載後首先進行安裝,需要注意的是找個大點的空間磁碟來存放:
安裝完成後,桌面會出現一個管理工具圖標:
我們將程序打開,點啟動按鈕:
如果顯示成下面圖片這樣,說明我們已經成功安裝了MySQL資料庫。
(2)SQLyog
SQLyog 是一個快速而簡潔的圖形化管理MySQL資料庫的工具,它能夠在任何地點有效地管理你的資料庫。
下載地址:https://pan.baidu.com/s/1qZ6izMk
密碼:a449
下載後進行安裝,選擇默認即可:
打開SQLyog,點新建按鈕:
隨便輸入一個新連接名,點擊確定:
在密碼處輸入haosql,然後點擊連接按鈕:
OK,恭喜你,我們需要的「利器」全部安裝完成,下面我們進行操作環節。
二、數據的導入方法:
我們準備了3個月的用戶流量數據,每張表中的數據都在140萬以上,我們要在MySQL中建立自己的資料庫和表,並導入我們需要處理的數據。
(1)創建資料庫
首先在MySQL中建立自己的資料庫,在對象瀏覽器中點滑鼠右鍵,調出快捷菜單,選擇創建資料庫:
在創建窗口中輸入所建立資料庫的名稱,並按下圖選擇字符集與排序規則,點擊創建按鈕:
創建完成後,我們在對象瀏覽器中可以看到我們新建的資料庫「mybase」,但它只是一個空的資料庫,裡面並沒有數據表:
可以通過點擊表前面的展開號,或在SQL編輯器中輸入顯示錶命令來查看資料庫中有哪些表。
使用SQL編輯器,需要在編寫完命令腳本後執行所有命令操作:
(2)資料庫導入
我們的三個TXT數據文件均存在D盤下:
表的結構為3個欄位:
Subs_id varchar(20)--用戶編號
Msisdn varchar(11)--手機號
Amt float--流量
注:如果想詳細了解MySQL支持的數據類型請去百度下,很多講解。
我們在對象瀏覽器中滑鼠右鍵單擊表,選擇創建表:
然後根據表的結構進行輸入,完成後點擊保存:
在詢問是否建立多個表時選擇「否」:
可以看到對象瀏覽器中已經產生了我們想要建的表:
下面我們再通過複製表結構建立其餘的兩張表,右鍵剛建好的表,選擇更多表結構->複製表格/結構/數據:
輸入表名,選擇僅有結構,然後點複製按鈕:
建表完成後,我們在SQL腳本編寫區輸入導入命令:
點執行查詢命令:
當執行完後信息窗口中會顯示成功信息:
我們把12月數據也如上面方法導入到表中,導入後我們的數據準備工作就已經完成,當然這裡只是對TXT文件的導入方法,SQLyog還構建了Excel、csv等文件的導入模塊,還請大家自行了解。
三、簡單的查詢工作
數據已經準備完成,我們的想法是篩選3個月連續流量小於1G(1024M)的用戶明細,我們在在SQL腳本編寫:
運行後,得到所需的數據:
我們也可以計算一下這3個月用戶的DOU:
運行後,得到所需的數據(數據量大時運行的時間相對較長):
我們可以將數據導出或複製,需要注意想得到全部數需要據去掉限制行的對號。
好了,用MySQL進行數據處理就介紹到這裡,如果想深入學習,還需要大家多花些時間多進行實踐練習才可以。
TAG:全球大搜羅 |