新手如何學習SQL

新手如何學習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 教程?

www.w3school.com.cn

3.2 SQL實踐練習

SELECT basics/zh?

sqlzoo.net

將sqlzoo上的練習都做一遍,算是入門了。


推薦閱讀:

sql 查詢如何將結果集 輸出為一段字元串?
Python3 pandas如何加快SQL Server讀寫速度?
SQLiGODs 注入(一個有意思的玩法)
為什麼用SQL而不是Excel+VBA?

TAG:SQL | 資料庫 | 數據分析 |