我不是一個后臺開發者,對數據庫的認知接近空白:僅僅聽說過表、行、列等概念,在數據庫 GUI 工具下點來點去過,但對于 SQL 是一無所知。
我這樣的情況在開發者中大概也不罕見,但作為互聯網技術的基石之一,數據庫大概還是每個從業人員必須了解的知識,于是我開始學習SQL。
當學習一門新技術時,我總是會嘗試找到合適的資源:在亞馬遜、豆瓣、知乎等網站上尋找合適的學習材料。
最早入眼的書是《SQL必知必會(第4版)》,我在多看上購買并閱讀的。從這本書的名字上看,不太好判斷是什么級別的書。但如果你查看它的原名,Sams Teach Yourself SQL in 10 Minutes,你會立馬知道,這是一本你在一無所知時需要看的書。這本書真的很簡單,本來就不長的篇幅被大量的語句查詢結果占據,閱讀過程談得上輕松:你可以在咖啡廳拿著 iPad,手指輕滑,一頁一頁地翻閱,身旁完全不需要一臺電腦。
看完《SQL必知必會(第4版)》后,我了解了基本的 SQL 語句,例如 select * from test;
,但我還未有任何的實踐經驗,此時《MySQL與MariaDB學習指南》出現在眼前。
這本書雖然定位也是入門,但難度相對高一些。如果說《SQL必知必會》面向的是因為各種原因(如考試、考取資格證等)需要學習 SQL 的,那么《MySQL與MariaDB學習指南》面向的則是開發者。比如第二章就講述了如何在各個系統下安裝 MySQL 和 MariaDB。閱讀此書前,大概還是需要一些 Linux 下的命令行知識的。
這本書的結構非常清晰,這是一大優點。全書分為五部分,依次為:軟件、數據庫結構、數據處理基礎、內置函數、數據庫管理。如此清晰明了的目錄,說明你可以根據自己的需求,選擇性地閱讀。
比如在實踐過程中,我不小心把某個表刪除了,我于是直接查看「數據庫管理部分」的「數據庫備份與恢復」章節,嘗試進行了數據恢復(并沒有成功)。
貫穿此書的例子是一個鳥類觀察網站的數據庫。這個例子接近于一個中小型網站的數據庫,在學習過程中談不上輕松,但這貼合實際:沒人會說數據庫是簡單易學的。
這本書的篇幅也不算長,總共才 284 頁,但信息量很大。我是在電腦上閱讀的,一邊看,一邊在命令行下鍵入例子。看完一遍時,前面的內容也已忘記不少。如果平時不繼續接觸的話,大概很快就要忘完。但如果你迫切需要使用數據庫,那么看完本書后,其實已經可以直接使用相應的語言來操作數據庫了。后面的知識大概也需從不停地實踐中獲取。