我不是一个后台开发者,对数据库的认知接近空白:仅仅听说过表、行、列等概念,在数据库 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 页,但信息量很大。我是在电脑上阅读的,一边看,一边在命令行下键入例子。看完一遍时,前面的内容也已忘记不少。如果平时不继续接触的话,大概很快就要忘完。但如果你迫切需要使用数据库,那么看完本书后,其实已经可以直接使用相应的语言来操作数据库了。后面的知识大概也需从不停地实践中获取。