新手如何學習SQL
來自專欄 從零開始轉行數據分析
在如何學習 SQL 語言?問答下的回答被摺疊了,不知道什麼原因...重新寫一篇,留著自己需要的時候回顧。
1 資料庫基礎概念
資料庫通常包含一個或多個表組成。如果你用過Excel,就會知道Excel是一張一張的二維表。每個表都是有列和行組成的,其中每一列都用名字來標識出來。同樣的,資料庫里存放的也是一張一張的表,只不過各個表之間是有聯繫的。所以,簡單來說:
資料庫=多張表+各表之間的關係
其實資料庫是邏輯上的概念,它是一堆互相關聯的數據,放在物理實體上,是一堆寫在磁碟上的文件,文件中有數據。這些最基礎的數據組成了表(table)。
2 如何學會資料庫
2.1 資料庫表的結構
表的結構是指要了解資料庫每張表長什麼樣。資料庫中每個表由一個名字標識。表包含帶有列名的列,和記錄數據的行。
資料庫的表裡都會加一個ID的欄位用來表示數據的唯一性。
ID是資料庫中重要的概念,叫做唯一標識符或者主鍵,用來表示數據的唯一性。
其實,在生活中我們也會使用ID來標識數據的唯一性唯一標識,最典型的例子就是國家用身份證來唯一標識一個人,即使你有個雙胞胎兄弟,只要你兩的身份證號不一樣,你們就是兩個人。
同樣的,資料庫中的ID也是這個作用,唯一標識一條數據,只不過在資料庫中我們把這樣唯一標識數據的ID叫做主鍵。ID不會有現實的業務意義,就是一串單純的數字,每張表只能有一個主鍵。
2.2 各表之間的關係
資料庫是表的集合,一個資料庫中可以放多張,表與表之間能互相聯繫。
聯繫就是數據能夠對應匹配,在資料庫中正式名稱叫聯接,對應的操作叫做join。
資料庫中,如果你要關聯其他表,一般會以「表名_ID」作為聯接。就像我們在上面「教育背景」表裡加入了「會員的ID」就是將兩張表關聯起來了。
Join(聯接)是關係型資料庫中的核心概念,是操作的基礎,務必記住這個概念,後面SQL學習中會用到。
3 SQL語句學習
3.1 SQL基礎知識學習
SQL 教程3.2 SQL實踐練習
SELECT basics/zh
將sqlzoo上的練習都做一遍,算是入門了。
推薦閱讀:
※sql 查詢如何將結果集 輸出為一段字元串?
※Python3 pandas如何加快SQL Server讀寫速度?
※SQLiGODs 注入(一個有意思的玩法)
※為什麼用SQL而不是Excel+VBA?