科百科
当前位置: 首页 范文大全

从零开始学sql(零基础快速自学SQL)

时间:2023-06-20 作者: 小编 阅读量: 1 栏目名: 范文大全

此文是《10周入门数据分析》系列的第6篇。至于ORACLE、DB2、Sybase、SQLServer、MySQL、MSAccess等都是数据库,虽然语法上有差异,但是基本上都是大同小异。以后再次访问时,双击即可。使用distinct关键字进行处理,用于返回唯一不同的值。这是以后最常用的操作,占据你90%。NULL值不包括在计算中。请注意,UNION内部的SELECT语句

此文是《10周入门数据分析》系列的第6篇。

想了解学习路线,可以先行阅读“ 学习计划 | 10周入门数据分析 ”


上一篇分享了数据库的基础知识,以及如何安装数据库,今天这篇分享数据库操作和SQL。

SQL全称是 Structured Query Language,翻译后就是结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

至于 ORACLE、DB2、Sybase、SQLServer、MySQL、MS Access等都是数据库,虽然语法上有差异,但是基本上都是大同小异。作为一名数据从业者,虽然市面上有很多很智能很自助的数据工具,甚至有的拖拖拽拽就能实现,但作为一名报表工程师、数据分析师,不懂一点SQL是绝逼不行的。

之前很多文章对于SQL都一笔带过,轻描带写,略忽视这项基本技能的重要性,所以今天就来讲讲如何学习SQL。

市面上都大量的书籍和教学视频,这里就帮大家提炼核心要点,给个学习方向。

本次的文章主要从以下几个方面进行说明,大家可以参考着学习。

  • SQL快速学习路线
  • 数据库表基础操作
  • SQL基础语句
  • SQL高级语句
SQL快速学习路线

零基础自学SQL时通常会遇到2个坑:

一坑:学习之前先安装数据库软件,可以是SQL Sever,也可以是MySQL。对于新人而言,安装数据库软件挺费时间,坑太多。我刚上大学那会要求2天内自学SQL,结果我花了1天时间安装SQL Sever。前一篇文章分享了MySQL的安装教程,刚开始学用不上太庞杂的功能,所以推荐小而美的MySQL,SQL Sever也是可以的。

二坑:一上来就背SQL语法。我看过太多新人在那边吭哧吭哧做笔记背SQL,个人不赞成这种学法,不实践记不住。就和Excel函数一样,理解含义和如何使用,关键时候去w3school查询一下就行了,以后用得多了自然就掌握了。(后台回复关键词“SQL”获得)

SQL学习路线

1、下载安装MySQL,或者安装软件phpstudy(这个软件自带了mysql数据库,而且安装启动方便)。

2、我这里用的是phpstudy,打开phpstudy后,点击下图中的启动,点击后数据库服务就会启动了。

3、下载安装Navicat软件

这个软件可以轻松连接数据库,我们可以在这个软件中练习学习SQL语法

4、使用Navicat建立数据库连接

点击文件——新建连接,连接名随便填写,比如我写的是“本地”。主机名、端口都不需要修改,用户名和密码都是root(因为我们安装的phpstudy里的mysql默认用户名密码就是root),点击连接测试显示为成功后点确定保存。

以后再次访问时,双击即可。

5、下载习题进行学习,内含习题需要用到的数据表。

6、导入第5步中下载的数据表。(后台回复关键词“SQL”获得)

右击第4步中的“本地”,新建一个数据库test1,双击打开新建的数据库(打开后颜色是绿色)。

拖拽刚才下载的数据表文件(sqltest1.sql)到test1上面。

这时会出现上述弹窗,点击开始,等待导入完成后,点击关闭

在左侧空白处右击,选择“刷新”,即可看到刚才导入的数据表了。

7、打开sql语法编辑器

如下图点击查询——新建查询,在空白处输入sql语法,点击运行,如果输入错误会有报错,输入正确则会返回查询内容。

8、边做边学

打开第一部分习题,边做边学,通过查询w3c的sql语法手册完成

9、巩固练习

尝试不看sql语法手册,独立完成第二部分习题。

以上是sql的学习路径,接下来是sql语句的学习,掌握使用场景和含义,具体语法就不做解释了,大家参考w3c的sql语法手册学习。这里我归了下类,挑重点讲。

数据库表基础操作

首先数据库表必掌握的基础操作,建表、删表、往表里增数据、往表里删数据以及最重要的取数等等。

1、CREATE TABLE(建表)

怎么着也得先建立表~

当你建表成功后,发现忘记添加主键,或者忘记添加外键,莫着急。使用以下咒语即可:

建好的表如下:

emp表

orders表

2、INSERT(插入)

向表中插入数据

插入数据后的emp表

插入数据后的orders表

3、UPDATE(更新)

4、DELETE(删除)

在使用delete删除emp表中数据时,要注意该表与其他表是否存在关联关系,比如:外键。emp表id是表orders的外键,如果要删除emp表中的id,得先删除orders表中的外键。

5、distinct(去重)

在表中,可能会包含重复值,这并不成问题。不过,有时你也许希望仅仅返回唯一不同的值。使用distinct关键字进行处理,用于返回唯一不同的值。

注意:distinct关键字是去重!去重!去重!*把列中的重复值去掉!

曾经我在笔试的时候,有道SQL考题:请写出表中所有重复的name的所有数据。我当时没反应过来,直接就用了distinct关键字,后来就....

6、Select(取数)

SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。这是以后最常用的操作,占据你90%。

SQL SELECT 语法

SELECT 列名称 FROM 表名称

以及:

SELECT * FROM 表名称

比如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:

SELECT LastName,FirstName FROM Persons

SELECT通常结合其他函数和语法使用。

SQL基础语句

在实际的SQL使用中,肯定会涉及到有关函数的使用,这里简单介绍几种初学时必学的函数类型。

1、AVG()

AVG 函数返回数值列的平均值。NULL 值不包括在计算中。

2、COUNT()

COUNT( ) 函数用于返回匹配指定条件的行数。

3、MAX()

MAX函数返回指定列的最大值,NULL值不包括在计算中

4、MIN()

MIN函数返回的指定列的最小值,NULL值不包括在计算中

5、SUM()

SUM函数返回指定列的总数

6、ROUND()

ROUND 函数用于把数值字段舍入为指定的小数位数

round函数需要的参数

7、FORMAT()

FORMAT 函数用于对字段的显示进行格式化

format函数需要的参数

SQL高级语句

这一部分的内容是通常用到的,属于最开始学习SQL知识时必须要熟练的,我这里大致列出几项。

1、LIMIT

2、LIKE

一般配合where使用,搜索条件中的指定模式

在上面我们可以看到,通配符“%”的使用方法,所以通配符必须要配合like 运算符一块使用。

通配符还有以下几种:

3、IN

从字面意思就可以知道它的作用是什么了

4、JOIN

联表运算符JOIN,该运算符是用于将两个或者两个以上的表进行关联,并从这些表中查询数据。

对于联表来说,通过使用主键(primary key)和外键(foreign key)也可以建立连接。

除了上述直接使用条件关联,下面我们可以用可读性更高的INNER JOIN来写

还有其他几种方连接方式(外连接):

  • LEFT JOIN:就算右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表没有匹配,也行右表返回所有的行
  • FULL JOIN:只要有一个表存在着匹配,就返回行

5、ALTER

穿插介绍一下alter,前面的例子中已经包含了几种alter使用方法。

6、UNION

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

上面引用的意思就是:道不同,不相为谋!

UNION和UNION ALL命令几乎是等效的,不过加了“ALL”,就会列出所有的值。

注意:因为其也具有“唯一性”,容易和PRIMARY KEY混淆。面试或笔试常考两者的不同,在这里说明一下:

与PRIMARY KEY不同的是,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

为表添加UNION,这里给出使用的SQL语法。

7、AUTO-INCREMENT(自增)

在运用中,我们希望在每添加一条数据后,自动的为我们的主键创建值。

8、ORDER BY

在前面中已经使用到了有关order by的SQL语句,order by该语句用于对结果集进行排序,默认是进行ASC正序排序(从小到大)。

排序的两种方式:

  • ASC:升序(从小到大)
  • DESC:降序(从大到小)

举栗:

ASC排序

对于DESC排序,这里就不进行举例了,大家可以自己写SQL试一下。

9、GROUP BY

通常配合合计函数使用,根据一个或多个列对结果集进行分组。

具体的用法在介绍函数时会涉及到。

10、HAVING

在上面的例子中,我们使用where关键字来增加查询条件,这里增加having字句是因为,where关键字无法与合计函数一起使用

同样引用上面的SQL语句。

具体的用法在介绍函数时会涉及到。

11、DEFAULT

DEFAULT约束用于向列中插入默认值。


本次文章中写的相关知识点是我以前在学习中随手记录的,对一些SQL大牛来说,这些已经是耳熟能详了。会不会让你们产生一种灌水的错觉????哈哈~


此文是《10周入门数据分析》系列的第6篇。

想了解学习路线,可以先行阅读“ 学习计划 | 10周入门数据分析 ”

公众号上已更新到第13篇,欢迎前往关注~

,
    推荐阅读
  • 山西煤哪来的(一张山西煤票上的燃)

    按照计划,未来3年朔州将投入64.51亿元,对22.34万户城乡居民实施清洁取暖改造。其中,中央专项补助资金9亿元。经纬通达公司是朔州市指定的优质煤储配企业,受应县能源局委托负责清洁煤采购、调配。因山西地方电力有限公司朔州分公司线路改造需到11月底完成,暂不能启用。朔州能源局提供的信息显示,截至11月18日,朔州尚有46个村庄煤改电未完成,正在加紧推进。而清洁煤标准要求含硫量不能高于1%,灰分不能高于16%,除了平鲁

  • 心得体会格式(心得体会格式写作方法详解)

    心得体会格式简略写出自己阅读过的书籍或文章的内容,然后写出自己的意见或感想。明确的说,就是应用自己的话语,把读过的东西,浓缩成简略的文字,然后加以评论,重点的是(着重)提出自己的看法或意见。比如我们可以引用书中的一句话做为引导,然后发表见解。先发表自己的意见或感想,然后引用读过的文章来做印证。

  • 儒林外史读书分享稿(读儒林外史有感)

    《儒林外史》是我国文学史上杰出的现实主义长篇讽刺小说,作者吴敬梓借一些追求功名思想迂腐的文人儒士极力揭露,批判了封建科举制度的昏暗。导读中说到《儒林外史》是一部可以百读不厌的小说,也是一部可以读至百遍,仍然觉得新鲜如初的奇书。书中令我印象最为深刻的是文人杜少卿,他为人大方,出手阔绰,远近闻名。杜少卿“败光”家产后,又对管家拐走自己二十两银子付之一笑。

  • 什么食物可以降糖(哪些食物可以辅助降糖)

    糖尿病患者必须进行饮食控制,这是许多糖尿病人都知道的知识。菠菜含有一种胰岛素样的物质,作用与胰岛素相类似,经常食用有助于血糖稳定。燕麦还有助于降低总胆固醇,改善胰岛素抵抗,这对于稳定血糖具有良好的作用。专家建议糖尿病患者可选择荞麦馒头,或荞麦、大米为主食。大蒜硒含量较高,硒对胰岛素合成有一定作用,所以,糖尿病病人多食大蒜有助于减轻病情,稳定血糖。

  • 染发的危害与坏处(长期染发会致癌吗)

    对苯二胺虽然有固色的作用,但它同时很可能对人体健康造成“威胁”。虽然研究结果显示永久染发剂对部分癌症可能起到诱发作用,但该研究属于一项观察性研究,染发剂和癌症风险之间的因果关系无法确立,研究仍存在一定局限性。发生入眼,应立即用清水冲洗。

  • 珍珠岛真实历史(一个英国海外殖民岛)

    由于船队受到威胁,英国上级部门下令停止所有航运,这也让怀特的努力受挫。此外,定居点的所有房屋都被拆除了。在英美两国共同的历史上,这仍然是最大的未解之谜。然而,在他帮助殖民地之前,一场飓风摧毁了舰队。更糟的是,某一次登岛事故导致了许多食品变质。怀特和水手们在罗阿诺克海滩上看到了新的脚印,这表明当地印第安人对英国搜救队怀有敌意或恐惧。另外,1587年,附近的印第安人显然是敌对的。

  • 小泰迪训练的方法(小泰迪怎么训练)

    小泰迪训练的方法?口令要固定,训练泰迪的口令必须要固定好,而且越简单越好,切勿老是更换口令,这样泰迪会出现混淆的现象,最终什么都做不好。

  • 桃柳芬芳梨花笑(杨柳千寻色桃花一苑芳)

    有一种心动,穿过唐风宋雨,定格在心底的那一丛花蕊里,一直幽幽的盛开。清风微微的吹来,垂柳依依,似一袭飘舞的长袖,在风中拂弄着迷人情弦。窗外风声不息,似乎也有琴声漫漫,听与不听之间,繁华不惊。远去的背影,寂寞了一纸的柔情;远去的风华,是依旧开在心里的栀子花。任心底的荷花兀自开放,在明月的夜里熠熠生辉,摇曳一院的清香。那么柔的风,那么美的月,那么轻的云,溪花与爱情,相对已忘言。

  • 摩托车是不是必须走机动车道(摩托车是不是必须走机动车道左转)

    如果摩托车在非机动车道发生交通事故。摩托车走非机动车道的危险系数,尤其是高峰时段,甚至大于非机动车道。