邻桌为何一天就学完了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 大牛来说,这些已经是耳熟能详了。会不会让你们产生一种灌水的错觉????哈哈~

相关内容

热门资讯

领克车机系统安卓,安卓智能驾驶... 你有没有发现,现在开车的时候,车机系统越来越智能了?尤其是领克的安卓车机系统,简直让人爱不释手。今天...
安卓原生系统通知声音,定制个性... 你知道吗?手机里那些时不时冒出来的通知,有时候就像小精灵在耳边悄悄说话,有时候又像是闹钟在催你起床。...
安卓系统电脑键盘功能 你有没有发现,用安卓系统电脑打字的时候,键盘功能可真是丰富得让人眼花缭乱呢?今天,就让我带你一起探索...
安卓修改文件系统后缀,解锁文件... 你有没有想过,你的安卓手机里的文件系统后缀可以随意修改?听起来是不是有点神奇?没错,今天就来带你一探...
安卓系统多任务流转 你有没有发现,在使用安卓手机的时候,有时候会突然冒出一个任务流转的功能,让你瞬间切换到另一个应用,是...
神姬红包版安卓系统,解锁全新游... 你知道吗?最近在手机圈里,有个神姬红包版安卓系统可是火得一塌糊涂呢!这不,我就迫不及待地来和你聊聊这...
为什么国内要用安卓系统,探索国... 你知道吗?在国内,安卓系统可是占据了半壁江山呢!为什么国内要用安卓系统呢?这背后可是有着不少有趣的故...
htc安卓系统怎么升级8.0,... 亲爱的手机控们,你是否也像我一样,对手机系统升级充满了期待和好奇呢?尤其是当HTC安卓系统升级到8....
安卓系统最好的应用助手,助你轻... 你有没有发现,手机里那些乱糟糟的图标和复杂的设置让你头疼不已?别担心,今天我要给你介绍一个安卓系统里...
安卓系统如何下载teamhub... 你有没有想过,在安卓系统上下载一个叫做Teamhub的应用程序呢?这可是个超级实用的工具,无论是工作...
安卓系统如何看无线密码,安卓系... 你有没有想过,你的安卓手机是怎么看懂无线密码的呢?是不是觉得这背后藏着什么神秘的黑科技?别急,今天就...
pd13安装安卓系统,PD13... 你有没有想过,给你的PD13平板电脑装个全新的安卓系统,让它焕发第二春呢?想象那流畅的操作体验,那丰...
苹果系统怎么比安卓好,五大优势... 你有没有想过,为什么苹果系统那么多人喜欢,而安卓系统虽然普及,但总感觉少了点啥?今天,就让我来给你细...
苏州攻略系统和安卓互通,安卓互... 你打算去苏州游玩一番,是不是已经迫不及待想要探索这座古城的韵味了呢?别急,别急,让我来给你支支招,让...
安卓变苹果系统教程荣耀,安卓变... 你是不是也和我一样,对手机系统转换充满了好奇?想要从安卓跳到苹果的阵营,却又觉得一头雾水?别担心,今...
安卓115系统编写 你有没有听说啊?安卓115系统最近可是火得一塌糊涂!作为一个紧跟科技潮流的数码达人,我怎么能不给你来...
安卓系统内录怎么搞,轻松实现屏... 你有没有想过,在安卓手机上录制屏幕,那可是一项超实用的技能呢!无论是想记录游戏操作,还是制作教程,或...
国服无法进入安卓系统,安卓系统... 最近有没有发现,你的安卓手机上那些心仪的国服游戏突然变得高不可攀了呢?别急,让我来给你揭秘这背后的故...
安卓系统破解wifi密码破解,... 你是不是也和我一样,对破解WiFi密码这个话题充满了好奇?想象当你身处一个陌生的环境,急需上网却苦于...
安卓系统项目发布平台 你知道吗?在科技飞速发展的今天,安卓系统项目发布平台可是个香饽饽呢!它就像一个巨大的舞台,让无数开发...