有好多小伙伴留言说想看SQL的学习文章,虽然Excel、python现在比sql受欢迎,但我还是觉得得开始着手写SQL了。想了很久SQL的文章应该从什么角度来切入,最后决定通过对比Excel,来学习SQL,所以这是写给小白的SQL学习文章。
什么是SQL
SQL(Structured Query Language)是一种数据库的结构化查询语言,常用的关系型数据库由MySQL,SQL Server,Oracle,Access等。
那么什么是数据库呢?简而言之就是存储数据的仓库,Excel为什么不算数据库呢,因为它能够存储的数据量真的太小了,Excel2016到底是1048576行,意思是它最多存储104万条数据,但你要真存104万条数据在Excel里估计电脑不卡也残废。现在大数据时代数据动辄百万/千万,所以需要数据库来帮忙。
总结一下,SQL就是对存储在数据库中的数据进行查询等操作的一种语言,所以你知道了,SQL本身是一种语言,如果你有语言学习的基础,那么学起SQL来就简单多了,没有也没关系,我们对比Excel,学习SQL。
为什么要学SQL
数据分析岗位的招聘,不管是哪个段位的,熟练使用SQL都是必备技能,所以,学起来把!
怎么学SQL
推荐实体书《MySQL必知必会》和《深入浅出MySQL》,所有系统的学习都是建立在书本之上,作为网上教程,W3School、MySQL菜鸟教程都很不错,至于其他的视频教程,就不推荐了,感觉大同小异,主要在于自己的理解与实操上。
具体实操,可以直接下载MySql/ SQL Server/Access客户端进行本地操作,但是有个问题,你可能没有数据源,需要自己创建表。
客户端和客户端之间也大有不同,MySQL客户端是命令行的形式,而Access是微软旗下界面很类似Excel的数据库,对于没有语言基础的同学来说可能更友好一些,至少它有个界面。
网上在线练习的话推荐SQLZoo来练习,这是一个网页版的题库,个人感觉对于新手小白来说SQLZoo比安装那些数据库客户端要友好的多。
基本概念的理解
库、表、列、列的含义、数据类型。
一个数据库里包含至少一个表,一个表里包含至少一个列。库可以理解为一个Excel工作簿,表就是其中的一张sheet表,列就是表中的一个字段。
之前在讲Excel获取数据的时候提到过在Excel里数据类型其实可以划分成两大类:数值型和字符型。在SQL中也差不多,除了字符型和数值型以外还有日期和时间类型的数据,具体将在下一小节中介绍。
你需要理解每张表包含了哪些列字段,这些字段都是什么含义,字段存储数据的格式是什么样的,有了这些概念以后方可进行查询的操作。
下载MySQL与安装
本系列将在MySQL客户端上进行操作讲解,MySQL客户端的下载和安装并不难,基本上是一路默认下来。
百度MySQL,进入MySQL官网。
在官网界面中向下滑,找到community社区版,点进去
第一个Conmunity Server,点Download
进入下载页面往下滑,注意,这里我们要选择.msi的安装方式,点蓝色背景框的go to download page,不要选择下载下面的.zip的文件包,zip需要自行配置,很复杂,稍微配置不好就用不了,msi就直接图形化配置一路默认即可。
点进去后选择第二个离线下载就好
还让你注册,就点no thanks 就好
然后等待网页下载完,下载完以后点开运行,一路next,最后点击execute安装,等一会安装完了,继续next。
还是一路next,一直到需要配置密码的部分,输入密码,别忘了,继续next,到execute
Next一路南下,直到要输入上面配置的密码,然后接着next.
全部安装配置完成以后,我们在开始菜单里就可以找到并打开MySQL客户端
输入密码回车键,就登陆了。
我们再来验证一下好使不好使,输入show database; 就展示出了系统存的数据库。
如果对命令行界面感到难过的同学,可以直接去搜MySQL的题库,线上做题,或者用Access,图形化的界面,界面很类似Excel,对小白很友好,且也是可以用SQL语句的,如下图所示。但是学都学了,技多不压身是吧。
MySQL的语法
几个语法是要注意的
- 分号(;)结束一条SQL语句
- 不区分大小写,习惯性地关键字一般大写
- 单引号(‘’)用来限定字符