1. 程式人生 > >誰說菜鳥不會資料分析(工具篇)----- 學習筆記1(Access SQL基本用法)

誰說菜鳥不會資料分析(工具篇)----- 學習筆記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

分組不限

語句簡單、清晰明瞭

只能進行等距分組
format函式日期/時間引數說明表
日期/時間格式引數 說明
時間分隔符
/ 日期分隔符
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)資料分析:簡單統計、分組統計、交叉統計