数据分析初学入门——22本SQL学习书籍推荐

本文为数据分析初学者推荐了21本关于SQL的学习书籍,旨在帮助初学者构建完备的知识体系,理解SQL的重点和实用性。基础入门部分包括《深入浅出SQL》、《MySQL必知必会》、《SQL基础教程》和《Microsoft SQL Server 2008技术内幕》;业务场景部分推荐《SQL进阶教程》、《SQL解惑第2版》、《数据分析技术:使用SQL和EXCEL工具第2版》和《SQL CookBook第2版》;优化与架构部分提到了《高性能MySQL第3版》等书籍;常用数据库部分涵盖了PostgreSQL和Oracle的相关书籍。这些书籍覆盖了SQL的基础、业务应用、性能优化和不同数据库的特性,是数据分析师学习SQL的宝贵资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


很多数据分析初学者都被推荐学SQL,SQL是最基础且是必备的技能之一,但是不知道该从何学起,很多课程讲了很多知识点,但是初学的朋友没有对这一领域整体框架的认识,不知道该学哪些知识、有哪些知识、实际工作需要到什么程度,常常会担心自己该用的没学、学了的没理解或不会用等等。这里通过介绍21本学习SQL的经典书籍(可以说几乎所有人们经典书籍都囊括在内,对初学者、从业者都认可和检验的)。

从这些书里,多本书多个角度可以让你知道SQL总共有哪些内容(每本书都有不同和侧重,把所有知识点取并集,就可以知道知识边界在哪里,这是完备性),哪些内容是重要(大部分书都讲,且逻辑清晰的,取交集,就是重点,业务场景会经常使用的,这就是实用性)。

当然这里只针对数据分析师初学和从业的朋友,我们不是数据库管理人员或者开发人员,所以涉及跟linux交互、搭建数据库、主从复制、安全性等数据库管理内容不会过多,跟网站开发、APP开发、高并发、事务等开发内容也不会过多。对于数据分析师来说,一是怎么取出业务分析需要的数据,二在一的基础上怎么优化SQL查询语句以提高效率。

SQL的增删改查语句也不是都重要,很多初学者有个误区,以为增删改的知识学习也很重要,实际上作为数据分析师,往往只有查询的权限,而没有增删改,更没有搭建数据库的权限,所以这些知识点是一次性的,知道怎么回事就行,重点是怎么select取数。

另外鉴于MySQL是最流行也是几乎所有SQL初学者最易学、最易操作的数据库,本篇重点是在MySQL数据库,最后也会介绍SQL server、PostgreSQL、Oracle、Hadoop等其他常用数据库。因此,下面的推荐为基础入门、业务场景、优化与架构、常用数据库四个部分,共计21本电子书,我都有对应电子资源,可关注同名公V。

一、基础入门

基础入门有四本书,妥妥的经典,几乎所有入门的朋友应该都读过其中至少一本,四本书中MySQL必知必会的使用人数最多,其次是SQL基础教程,这两本通俗易懂、侧重不同;另外两本使用人数相对较少一些。通过豆瓣评分就可以知道四本书的受欢迎程度。

1.深入浅出SQL《Head First SQL》

“深入浅出SQL”实际上是“深入浅出”系列丛书之一,它一贯的风格就是很通俗易懂,用场景、对话、问答、图片编成故事来由浅入深的讲解概念和知识点,正因为如此会显得很啰嗦,你会看的很快也能理解它所讲的,但是偏基础,实用性不强,所以有的人喜欢有的人不喜欢。

不过从使用INSERT和SELECT这些基本的查询语法到使用子查询(subquery)、连接(join)和事务(transaction)这样的核心技术来操作数据库,该囊括的知识点它都囊括,如果你是文科生或者完全没接触过SQL,可以读一读。

2.MySQL必知必会《MySQL Crash Course》

这里需要说的是《SQL必知必会》和《MySQL必知必会》是两本书,但是都是同一个作者Ben Forta写的,顾名思义,后者是针对MySQL数据库的,但是《MySQL必知必会》包括了《SQL必知必会》的前20章内容而且多了十章关于MySQL的内容:高级搜索、视图、存储过程、游标、触发器、事务等。

《MySQL必知必会》讲解的知识点非常全面,从第4章到13章都在讲select语句里的每个关键字

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语句的语法结构和风格还是相当简单和直观的,只要用户结合实践多加练习,一定会在短期内迅速掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值