邻桌为何一天就学完了SQL基础语法,数据分析必学的SQL,满满硬货
创始人
2024-05-30 22:14:20
0

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

今天这篇分享数据库操作和 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 大牛来说,这些已经是耳熟能详了。会不会让你们产生一种灌水的错觉????哈哈~

相关内容

热门资讯

安卓删除系统软件卡 手机用久了是不是觉得越来越卡?尤其是安卓系统,有时候连删除系统软件都变得慢吞吞的,真是让人头疼。别急...
章鱼星球刷机安卓系统,畅享智能... 亲爱的读者,你是否曾想过,如果章鱼也能拥有自己的星球,那会是怎样一番景象呢?想象那些八条腿的海洋生物...
安卓变WP10系统,系统变革之... 你知道吗?最近手机圈里可是掀起了一股不小的风潮呢!不少安卓用户竟然开始琢磨着把自己的手机系统换成WP...
源生安卓系统桌面,功能与体验深... 亲爱的读者,你是否曾好奇过,那些运行在我们手机上的安卓系统桌面,究竟是如何诞生的?今天,就让我们一起...
安卓系统系统占内存70个G 你有没有发现,最近你的安卓手机内存越来越不够用了?听说有人家的安卓系统竟然占内存高达70个G,这可真...
安卓系统优化好的手机,打造极致... 你有没有发现,现在手机市场真是热闹非凡,各种品牌、各种型号,让人眼花缭乱。但是,你知道吗?在众多手机...
安卓系统位定位怎么开,基于安卓... 你有没有发现,手机里的安卓系统有时候就像一个神秘的宝藏,藏着许多小秘密呢?今天,我就要来揭秘一个特别...
安卓系统安装占用空间,揭秘占用... 你有没有发现,每次更新安卓系统,手机里的空间就像被无底洞吞噬了一样,越来越少?别急,今天就来跟你聊聊...
安卓系统会被鸿蒙取代吗 你有没有想过,我们手机里那个熟悉的安卓系统,会不会有一天被一个全新的系统给取代呢?没错,说的就是华为...
小米8的系统是安卓,安卓系统下... 你知道吗?最近我在用的小米8手机,它的系统竟然是安卓的!是不是很惊讶?别急,让我来给你详细介绍一下这...
安卓系统触屏的相机,便捷操作与... 你有没有发现,现在手机拍照已经成为我们生活中不可或缺的一部分呢?尤其是安卓系统的触屏相机,简直是我们...
低版本安卓系统手机,揭秘低版本... 你有没有发现,身边总有些朋友还在用那些低版本的安卓系统手机?别看它们看起来普普通通,其实里面藏着不少...
安卓系统的功能需求,功能需求与... 你有没有发现,随着智能手机的普及,安卓系统已经成为了我们生活中不可或缺的一部分呢?想象每天早上醒来,...
安卓机的ios系统,揭秘iOS... 你有没有发现,最近你的安卓手机突然变得有点不一样了?是不是觉得界面看起来有点眼熟,操作起来也好像有点...
吐槽安卓操作系统,揭秘那些让人... 说起安卓操作系统,这可是个让人又爱又恨的家伙。咱们就来聊聊这个话题,看看它都有哪些让人忍不住吐槽的点...
怎么把安卓系统改为苹果,系统转... 你有没有想过,把你的安卓手机换成苹果手机,体验一下那个传说中的流畅和优雅呢?没错,我就是来告诉你,怎...
安卓系统如何用热点,随时随地共... 你有没有想过,你的安卓手机竟然能变身成为一个移动的Wi-Fi热点?没错,就是那个随时随地都能连接网络...
安卓系统自动开抖音,安卓系统自... 你有没有发现,最近你的安卓手机突然变得有点儿“调皮”呢?没错,就是那个我们每天都要刷的抖音,竟然自己...
安卓系统降级会更快吗,降级过程... 你有没有想过,你的安卓手机升级后,有时候操作起来反而不如以前流畅呢?别急,今天就来聊聊这个话题——安...
安卓系统设备扫码在哪,安卓设备... 你有没有遇到过这种情况:手机里装了各种APP,但是有时候想扫码付款或者加入某个群组,却怎么也找不到扫...