SQL 入门的必读好书

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与10000人一起快乐成长

最近,很多朋友来问我,有没有入门 SQL 的好书。

与这些朋友聊天发现,大部分人都没有系统学过计算机专业的专修课。有从物流转行的,有从会计专业扩展的,还有从运维行业转岗到数据分析的。

今天就来推荐一本学 SQL 的好书。

不管你之前从事什么行业,对计算机编程有多少了解,这本书都能帮你在 1-2天内,迅速建立起 SQL 的语感,为你揭开 SQL 开发的神秘面纱。

这本书也是我第一次读,看完大概花了 1 个小时。

当然,我这不是凡尔赛,不是要告诉你它很简单。别看我用 1个小时,你就觉得你也可以很快入手,分分钟去大厂拿 45W 的年薪。

没那么容易,10 年前的我,学好里面的内容,至少也得全身心投入,死磕3-4个礼拜,等价于 120 个小时。

这120个小时,够得上大学的一门专业课了。

当然看完书,不是最主要的目的,最重要的是练!

迅速看完本书后,我又做了两件事:安装了 PostgreSQL,安装 DBeaver 来连接 PostgreSQL.

豪不夸张的说,安装 PostgreSQL 必看书时间还长。涉及到 Linux 上安装软件,命令行,修改用户权限,设置防火墙,配置数据库文件等等,都极大地消耗你的耐心。

不过,这个过程是真的很值。多动手安装几遍,下次你再学 Oracle, MySQL 的时候,就不会那么痛苦了。强烈建议,自己动手,不要怕麻烦。

送你一个锦囊,在 word 里,记下你每一步的操作。尤其是出错的部分,更加要不厌其烦的详细记录。

连数据库安装都搞不定,那趁早别干这行了,真的,不适合你!

后台回复 PostgreSQL, 可得 DBeaver 编辑器。我猜,很多朋友,拼对 PostgreSQL 都很难。

那么,为什么我要安装 DBeaver 呢?

对于初学者来说,命令行编程十分不友好。编辑 SQL 不方便,结果输出堪比乱码,如果每做一道题都要受到这些暴击,很难学得快。

所以,强烈建议安装一款趁手的 SQL 编辑器。

DBeaver 堪称数据库界的神兵利器。无论是 RDBMS, NoSQL, NewSQL, 还是 Hadoop, Hive, Spark,Clickhouse, 没有它连不上的。如果连不上,不用怀疑,一定是你的问题!

上一次,我在测试 clickhouse 的时候,用 DBeaver 连过 MySQL, SQL Server 以及 Clickhouse. 

我用一个实验,证实了Clickhouse的凶残性能

这次,我依然用它,来连接 PostgreSQL, 依旧给力

当然你不一定非用 PostgreSQL,Oracle, MySQL, SQL Server等传统的关系型数据库都能用。

本书最大的特色,就是无论你用哪种关系型数据库,所讲的例子都适合你用。如果某语法只支持特定的数据库,还会用图表标明:

在行家里手看来,SQL 是最简单不过的编程语言。是,我承认,花上1-2个礼拜,再小白,也能写出个漂亮的 CRUD 语句来。

比如 SELECT, UPDATE, DELETE, INSERT,照书中的例子瞧一瞧,你半天就懂,怎么回事了。

但本书又不是一本特别简单教语法的书。聚合,分组,集合运算,窗口函数,都是比较实用的进阶知识。

就拿看电影来说,看过的电影都成了你的电影数据库。

2020年,你看了多少部电影,你可以用聚合函数算出来;

假设你看了 50 部电影,那有多少部是喜剧片,又有多少是悬疑片等等,可以用分组算出来;

某天和基友吃饭,了解到他看了80部电影,于是你可以用集合运算,算下他比你多看了哪些;

于是你俩又一起讨论,喜剧片里面,非看不可的是那三部。悬疑片,哪五部必看。这些可以用窗口函数来算。

SQL 处理数据能力是强,几百万数据处理毫不费劲,还能用来做数据挖掘。但巧妇难为无米之炊,没有数据,SQL 再强大,也发挥不出来。

所以,处理,分析程序再强,也需要有管道把数据流进来。于是,书中还给出了与数据库交互的方法。比如 c# 的 Ado.net, Java 的JDBC 等。

本书涵盖了 SQL 的知识体系,虽然小,但面向初学者已经非常全面了。我认为,值得一读。

--完--

往期精彩:

本号精华合集(三)

如何写好 5000 行的 SQL 代码

如何提高阅读 SQL 源代码的快感

我在面试数据库工程师候选人时,常问的一些题

零基础 SQL 数据库小白,从入门到精通的学习路线与书单

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
SQL语言快速入门之二   创建表格 SQL语言中的create table语句被用来建立新的数据库表格。Create table语句的使用格式如下: create table tablename (column1 data type, column2 data type, column3 data type); 如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项: create table tablename (column1 data type [constraint], column2 data type [constraint], column3 data type [constraint]); 举例如下: create table employee (firstname varchar(15), lastname varchar(20), age number(3), address varchar(30), city varchar(20)); 简单来说,创建新表格时,在关键词create table后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制条件等。注意,所有的SQL语句在结尾处都要使用“;”符号。 使用SQL语句创建的数据库表格和表格中列的名称必须以字母开头,后面可以使用字母,数字或下划线,名称的长度不能超过30个字符。注意,用户在选择表格名称时不要使用SQL语言中的保留关键词,如select, create, insert等,作为表格或列的名称。 数据类型用来设定某一个具体列中数据的类型。例如,在姓名列中只能采用varchar或char的数据类型,而不能使用number的数据类型。 SQL语言中较为常用的数据类型为: char(size):固定长度字符串,其中括号中的size用来设定字符串的最大长度。Char类型的最大长度为255字节。 varchar(size):可变长度字符串,最大长度由size设定。 number(size):数字类型,其中数字的最大位数由size设定。 Date:日期类型。 number(size,d):数字类型,size决定该数字总的最大位数,而d则用于设定该数字在小数点后的位数。 最后,在创建新表格时需要注意的一点就是表格中列的限制条件。所谓限制条件就是当向特定列输入数据时所必须遵守的规则。例如,unique这一限制条件要求某一列中不能存在两个值相同的记录,所有记录的值都必须是唯一的。除unique之外,较为常用的列的限制条件还包括not null和primary key等。Not null用来规定表格中某一列的值不能为空。Primary key则为表格中的所有记录规定了唯一的标识符。 向表格中插入数据 SQL语言使用insert语句向数据库表格中插入或添加新的数据行。Insert语句的使用格式如下: insert into tablename (first_column,...last_column) values (first_value,...last_value); 例如: insert into employee (firstname, lastname, age, address, city) values (‘Li’, ‘Ming’, 45, ‘No.77 Changan Road’, ‘Beijing”); 简单来说,当向数据库表格中添加新记录时,在关键词insert into后面输入所要添加的表格名称,然后在括号中列出将要添加新值的列的名称。最后,在关键词values的后面按照前面输入的列的顺序对应的输入所有要添加的记录值。 更新记录 SQL语言使用update语句更新或修改满足规定条件的现有记录。Update语句的格式为: update tablename set columnname = newvalue [, nextcolumn = newvalue2...] where columnname OPERATOR value [and|or column OPERATOR value]; 例如: update employee set age = age+1 where first_name= ‘Mary’and last_name= ‘Williams’; 使用update语句时,关键一点就是要设定好用于进行判断的where条件从句。 删除记录 SQL语言使用delete语句删除数据库表格中的行或记录。Delete语句的格式为: delete from tablename where columnname OPERATOR value [and|or column OPERATOR value]; 例如: delete from employee where lastname = May; 简单来说,当需要删除某一行或某个记录时,在delete from关键词之后输入表格名称,然后在where从句中设定删除记录的判断条件。注意,如果用户在使用delete语句时不设定where从句,则表格中的所有记录将全部被删除。 删除数据库表格 在SQL语言中使用drop table命令删除某个表格以及该表格中的所有记录。Drop table命令的使用格式为: drop table tablename; 例如: drop table employee; 如果用户希望将某个数据库表格完全删除,只需要在drop table命令后输入希望删除的表格名称即可。Drop table命令的作用与删除表格中的所有记录不同。删除表格中的全部记录之后,该表格仍然存在,而且表格中列的信息不会改变。而使用drop table命令则会将整个数据库表格的所有信息全部删除。 以上,我们对SQL语言主要的命令和语句进行了较为详细的介绍。应该说SQL语句的语法结构和风格还是相当简单和直观的,只要用户结合实践多加练习,一定会在短期内迅速掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dbLenis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值