邻桌为何一天就学完了SQL基础语法,数据分析必学的SQL,满满硬货

本文介绍了SQL的学习路径,强调实践的重要性,提供了一套快速学习路线,包括安装MySQL,使用Navicat进行数据库操作,以及学习SQL的基础和高级语句,如建表、INSERT、UPDATE、DELETE、SELECT等,并提到了JOIN、LIKE、UNION等高级概念。
摘要由CSDN通过智能技术生成

因为开学原因,导致好久没有更新博客了,谁家大学生一周五天早八,
在这里插入图片描述

今天这篇分享数据库操作和 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 学习路线

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

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

在这里插入图片描述

3、下载安装 Navicat 软件

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

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

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

以后再次访问时,双击即可。
在这里插入图片描述

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

6、导入第 5 步中下载的数据表。
右击第 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 大牛来说,这些已经是耳熟能详了。会不会让你们产生一种灌水的错觉????哈哈~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数据分析不是个事儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值