誰說菜鳥不會資料分析(工具篇)----- 學習筆記1(Access SQL基本用法)
1、資料庫(database)
資料庫是按照資料結構來組織、儲存和管理資料的倉庫。利用資料庫中的各種物件,記錄、處理和分析各種資料。
常用資料庫:oracle,SQL Server,MySQL,Access等關係型資料庫
NoSQL技術的分散式資料庫:Hbase,MongoDB,Redis等
(1)Access資料庫
優點:操作介面友好,易操作;查詢處理可直接生成相應的SQL語句
不足:資料庫過大時(Access資料庫檔案百兆以上),效能變差。
記錄資料過多時(記錄達到千萬條以上),效能變差。
Access資料庫中每個資料庫檔案上限為2GB
(2)SQL:(structured query language)結構化查詢語言
一種通用的關係型資料庫操作語言。讓資料庫按我們的意思實現查詢操作的語言。
業內人士常說的資料探勘:是通過對歷史資料進行建模預測,生成一定的規則,然後資料庫工程師將生成的規則編寫成相應的SQL語句,並編寫成資料庫的儲存過程,可定期執行它們得到資料模型結果。
處理大資料的Hadoop,所使用的Hive語言(HQL),與SQL 語言基本一致,部分語句的編寫或功能存在差異。
注意事項:
在SQL 語句中,英文字母大寫或小寫均可;每個SQL語句的關鍵字用空格符合分隔;欄位或引數之間用逗號分隔
SQL語句中如引數為字元型,需要單引號,數值型不用單引號;SQL語句結束時,在語句結尾處新增分號;
SQL語句中如表名、欄位中出現空格、‘/’,'\'等特殊字元時,需用方括號[],將含有特殊字元的表名欄位名括起來;
‘*’代表選定表格中的所有欄位,並按照其在資料庫中的固定順序來排序;
在函式引數或條件查詢中,若引數或查詢條件為日期和時間型別資料,需在資料值兩端加井字元號‘#’,表示資料型別為日期型;
SQL語句中使用的逗號,分號,單引號,括號等符號均為英文狀態下輸入的符號;
儘量避免在資料庫中進行全表掃描。在where語句中儘量避免‘!=’,‘<>’,‘OR’等或對欄位進行函式操作,否則進行全表掃描。
(3)索引和主鍵
索引相當於對指定的列進行排序,就好比是一本書的目錄,通過它可以快速查詢到結果,無需全表掃描,加快資料庫查詢速度。
主鍵是確定資料中每一條記錄的唯一標識,本質是索引,一個特殊索引。主鍵所在列每一記錄都是唯一的,在同一表裡只能有一個主鍵。
兩者區別:
i: 主鍵用於標識資料庫記錄的唯一性,不允許記錄重複,且鍵值不能為空。主鍵是一個特殊的索引,主鍵=索引,索引不一定等於主鍵。
ii: 索引可提高查詢速度,通過它可快速查詢到結果,無需全表掃描
iii: 使用主鍵,資料庫會自動建立主索引,也可在非主鍵上建立索引,提高查詢速度。
iiii: 資料表中只允許有一個主鍵,但可有多個索引。
在Access資料庫中,主鍵不是必須的,但為每個表設定一個主鍵,可提高查詢速度。
(4)Access資料庫資料匯入方法
直接匯入法:Access資料庫中的表與資料來源脫離了聯絡,對資料的更改不會影響源文字資料檔案
建立連結法:連結表顯示源文字檔案中的資料,但它實際上並不將資料儲存在資料庫中,對源文字檔案進行的任何更改都將自動反映到連結表中,即資料會隨資料來源的變化而自動更新。
(5)資料合併
在函式引數或條件查詢中,若引數或查詢條件為日期和時間型別,需要在資料值兩端加上井字元號,以表示資料型別為日期型。
(6)資料分組:數值分組、日期/時間分組
數值分組函式 | 優點 | 缺點 |
iif | 可進行不等距分組 |
語句冗長,極易出錯 最多可進行13層巢狀 |
choose | 分組可達254個 | 只能進行等距分組 |
switch | 可進行不等距分組 | 條件表示式最多達到14個 |
partition |
分組不限 語句簡單、清晰明瞭 |
只能進行等距分組 |
日期/時間格式引數 | 說明 |
: | 時間分隔符 |
/ | 日期分隔符 |
d | 根據需要以一位或兩位數字表示一個月中的第幾天(1~31) |
dddd | 星期的全稱(Sunday~Saturday) |
w | 一週中的第幾天(1~7) |
ww | 一週中的第幾周(1~53) |
m | 根據需要以一位或兩位數字表示一年中的月份(1~12) |
mmmm | 月份的全稱(January~December) |
q | 一年中的第幾季(1~4) |
y | 一年中的第幾天(1~366) |
yyyy | 完整的年份(0100~9999) |
h | 根據需要以一位或兩位數字表示小時(0~23) |
n | 根據需要一位或兩位數字表示分鐘(0~59) |
s | 根據需要用一位或兩位數字表示秒(0~59) |
(7)重複資料
group by / disdinct
(8)資料分析:簡單統計、分組統計、交叉統計