學習SQL:MySQL必知必會
《MySQL必知必會》這本書是2009年出版,從SQL語句的數(shù)據(jù)檢索、子查詢、聯(lián)結(jié)、正則表達式等內(nèi)容講起,適用于沒有學過SQL以及剛開始接觸SQL的人,書本身比較簡潔,就是在講基礎,想要更加深入地學習的話,推薦《深入淺出MySQL》,這本書就厚很多,也更適合數(shù)據(jù)庫開發(fā)、優(yōu)化和維護人員去學習。(文末有這本書的知識圖譜總結(jié))

SQL是一種結(jié)構(gòu)化查詢語言,是通用地使用關系型數(shù)據(jù)庫的應用語言。
這句話給了我們兩個關鍵詞,SQL和數(shù)據(jù)庫。在了解什么是SQL語句前,首先要知道什么是數(shù)據(jù)庫,數(shù)據(jù)庫顧名思義,就是存儲數(shù)據(jù)的庫,而SQL語句呢則是專門與數(shù)據(jù)庫通信的語言,對,它是一種語言,類似Java/Python,不同的是,它非常的簡單易學。SQL語句其實主要有3類:
DDL數(shù)據(jù)定義語言:定義數(shù)據(jù)庫、表、列等對象,如create、drop等關鍵字
DML數(shù)據(jù)操縱語句:用于添加、刪除、更新、查詢數(shù)據(jù),如insert、delete、update、select等關鍵字
DCL數(shù)據(jù)控制語句:用于控制不同數(shù)據(jù)段直接的許可和訪問級別的語句,如grant、revoke等關鍵字。
這本書里其實這3類語句都有講解,但對于數(shù)據(jù)分析師而言,比較關注的還是DML語句,即數(shù)據(jù)的增刪查改的操作。
那這本書所介紹的MySQL又是什么呢,MySQL是一種數(shù)據(jù)庫軟件,是廣大數(shù)據(jù)庫軟件中的一個,其他的數(shù)據(jù)庫軟件如Oracle、SQL Server、Access等這些是關系型數(shù)據(jù)庫,還有基于NoSQL技術的分布式數(shù)據(jù)庫如Hbase、MongoDB、Redis等。
這本書只是一個入門的基礎,因為SQL語句實在是太好入門了,看完很容易產(chǎn)生自我膨脹的錯覺,此時應該搭配實戰(zhàn)練習,那么怎么配套練習呢?其實網(wǎng)上有很多在線的SQL練習平臺都很不錯。
1、SQLZOO
原數(shù)據(jù)已經(jīng)給出,根據(jù)題目的要求進行相應檢索,如SQLZOO,左邊是題目,右邊是練習輸出,可以切換成中文版,不過切換以后是繁體。
網(wǎng)站:https://sqlzoo.net/

之前我也整理了一下SQLZOO網(wǎng)站題目的答案,后臺回復:SQLZOO,即可獲得。
2、XUESQL
如果說SQLZOO的英文網(wǎng)站閱讀體驗不太友好的話,可以用XUESQL,這個網(wǎng)站是一個全中文版,有相應的任務練習,還有配套的B站教程,非常適合練習。
網(wǎng)站:http://xuesql.cn/

3、牛客網(wǎng)
還有牛客網(wǎng)題庫中的數(shù)據(jù)庫SQL實戰(zhàn),有60道基于sqlite實戰(zhàn)題,寫好后可以調(diào)試,不會的可以看一下題解和討論,看看別人是怎么做的,不過還是建議在自己的思考下完成,不好的地方就是有些題干描述的很不明確,按照自己理解的寫出來調(diào)試不通過,只能看下大家的討論才能明白題目到底說了個啥。
網(wǎng)站:https://www.nowcoder.com/

最后放出這本書的知識圖譜供大家參考學習,圖片可能有壓縮,想要高清圖的可以加我微信:data_cola,發(fā)你。


相關閱讀:
