SQL汇总—(基础篇)

SQL汇总—(基础篇)_第1张图片
图片发自App

上周我开启了我数据分析之旅~安装mysql学习sql语言

而现在的自己是入门水准,仅仅会简单的查询语言、了解一些进阶的语言。面对复杂的语言自己还要跟着案例操作,比如:子查询、连接表、组合查询。

文章是学习《SQL必知必会》、SOTON数据分析、SQL入门到精通后的汇总。

分为四个板块: SQL、MYSQL与数据库;SQL语句分类;SQL语句实战;数据类型分类(补充、非重点)

写在前面的话:如何阅读本篇文章?

我们学习sql语言是因为要和数据库打交道,从数据库中提取数据。

首先要了解数据库包含数据库、表、列、记录,而sql语句主要包含增删改查询。

所以我们学习就是3个目标1个重点

1、数据库的的增加删除查询修改

2、表的增加删除查询修改

3、列的增加删除查询修改

4、最重要的是记录的查询

带上这4个问题学习并归类,可以很快建立自己的思维。当然文章也是尽可能的按这种方式写的

一、SQL、 MYSQL与数据库

SQL

1、 什么是SQL?

SQL是Structured Query Language(结构化查询语言)的缩写,是一种专门用来与数据库沟通的语言

2、 SQL的优点?

SQL不是某个特定数据库供应商专有的语言,因此学习此语言几乎能与所有数据库打交道。

SQL简单易学,它的语句都是由很强描述性的单词组成。

SQL是一种强有力的语言,可以进行非常复杂和高级的数据库操作。

3、 学习SQL需要准备什么?

下载软件MYSQL。

关于MYSQL的下载网上有很多讲解,上篇文章《MYSQL5.7.23MIS版本安装图解》里面也有安装的讲解,大家可以参考。

MYSQL

1、 什么是MYSQL?

MYSQL 是一种数据库软件,应称为数据库管理系统(DBMS)

2、 MYSQL的优点?

MYSQL是免费开源,低成本的软件;执行速度快,性能好;简单易学

数据库

1、 为什么要了解数据库?

理解数据库概念是掌握SQL的重要前提

2、 什么是数据库?(database)

数据库是保存有组织的数据的容器,通常是一个文件或者是一组文件。

3、 表(table)

表是结构化文件,可以用来存储某种特定类型的数据。

4、 列(column)

列是由表组成

5、 行(row)

表中的一个记录。表中的数据是按行储存的,所保存的每个记录储存在自己的行内。

感想:

第一部分内容主要来自《MYSQL必知必会》,用几百字介绍SQL、MYSQL、数据库,就是为了解决:是什么、做什么问题。如果在学习SQL时理解数据库非常重要,亲亲有时间可以参考其他数据库基础知识。

当然自己也是非常想深入了解数据库、数据库软件、SQL。不过要在下一轮学习中在进行纵向深度学习,现在的目标是先横向了解,尽快熟悉数据分析全局。

二、SQL语句分类

在开始SQL语句前,我们先回到第一部分SQL优点:SQL简单易学,他的语句全都是由很强描述性的英语单词组成,而且单词数量并不多。

我们抓取三个关键词:SQL简单、语句描述性强、数量少。SQL的确比较简单,下面几页PPT中包含82%的SQL语句,学完后你也能称为入门数据分析了。

补充一点从专业的角度出发,SQL语言可以分为四类DDL、DML、DCL、DQL。下面也将从这四个方面讲述SQL语句。(PS:听说在面试的时候可能会问到SQL语言的四大分类,同时SQL作为数据分析最重要的语言一定要打牢基础。)


SQL汇总—(基础篇)_第2张图片
SQL语句分类

第一张图是关于SQL语句的分类,可以分为四种DDL、DML、DCL、DQL

SQL汇总—(基础篇)_第3张图片
1-SQL语句分类:DDL之数据库


SQL汇总—(基础篇)_第4张图片
1-SQL语句分类:DDL之表

第四张图是DDL表的创建、删除、修改。这里的创建是创建列以及数据类型、删除是删除列、修改指修改列名修改数据类型!!

关于数据类型有四类:数值型(整数、小数)、浮点型、字符串型、日期时间型(在文章最后附上关于数据类型的介绍)

SQL汇总—(基础篇)_第5张图片
2-SQL语句分类:DML

第四张图是对表记录(内容)的增删改,DML

插入:insert into 表名(列名)values …

下面三张表是学习SQL语句的笔记,对我来说非常重要。

比如修改列名、修改字段类型就找了很久。

SQL汇总—(基础篇)_第6张图片
笔记1


SQL汇总—(基础篇)_第7张图片
笔记2


SQL汇总—(基础篇)_第8张图片
笔记3
SQL汇总—(基础篇)_第9张图片
3-SQL语句分类:DCL


SQL汇总—(基础篇)_第10张图片
4-1-SQL语句分类:DQL

第六张图是DQL查询是整个SQL语句的重点。

感悟:

关于SQL我学习了两门课程,其中“SOTON数据分析”课程目录共18节,其中10节都在讲SQL的查询语言,而在“MYSQL从入门到精通’”中课程目录共57节,其中9节在讲述SQL语言的插叙。当初我也是各种迷茫模糊,不知道应该以哪个老师的内容为标准,甚至一度以表的新建、增加数据为核心。

后来看完《SQL必知必会》之后知道在SQL中最重要的就是DQL查询语言。因为书中的目录和SOTON 的课程目录相似,重点讲述的内容也一样,于是自己把重心也转向了DQL查询语言。

所以想系统权威的学习某类技能还是要多看书。

SQL汇总—(基础篇)_第11张图片
4-2-SQL语句分类:DQL


SQL汇总—(基础篇)_第12张图片
4-3-SQL语句分类:DQL


SQL汇总—(基础篇)_第13张图片
4-4-SQL语句分类:DQL


SQL汇总—(基础篇)_第14张图片
4-5-SQL语句分类:DQL

关于DQL语言总共有5张PPT,主要包括

1、数据查询语言(select 列名 from 表名);

2、过滤语言(where);

3、通配符=模糊查询(where like);

4、排序(order by),asc升序、desc降序;

5、聚合函数:文本函数avg、sum、count、max、min,时间函数curtime()、now( )、datetime()

6、分组查询:group by

7、联结表:inner jion 、left jion

8、联和查询=汇总函数:union(去重)、union all(不去重)

9、子查询:一般用在from 后面,或者是where后面

下面的目录是SOTON数据分析的课程目录,主要以查询为主

SQL汇总—(基础篇)_第15张图片
*-1-SQL语句常用语言chaxu


SQL汇总—(基础篇)_第16张图片
*-2-SQL语句常用

SOTON数据分析课程里面的查询语言虽然和“SQL从入门到精通”一样,但这里自己还是在次总结。哈哈哈,主要是我自己的复习

1.3了解MYSQL:show databases,use 数据库

1.4数据排序:order by、desc、asc(升序)

1.5过滤函数:where、having(对分组函数过滤时用having)

1.6通配符:where like 、%

1.7处理函数:文本处理函数rtime( ) len( ) upper() lower()substring() left()

1.8时间处理函数:curtime、select curdate( )

1.9汇总函数:max min avg count

1.10分组计算:group by

1.11子查询:常在from后面或者where后面

1.12表联结:inner jion、left jion

1.13组合查询:union

感悟:

之前在构建文章框架的时候,本来是计划第二部分为了解部分,后来文章在不断的完善中才发现第二部分才是核心它几乎总结了所有SQL语句(如同小学数学时背加减顺序表),而自己之前似乎核心的第三部分属于案例操作而已。

我们在学习时要先掌握知识点在进行实践操作,不然也仅仅是知其然不知其所以然。

三、SQL语句实战

案例部分主要是根据soton数据分析进行操作。需要数据的可以留言或私聊。

1、查询包含的数据库

SQL汇总—(基础篇)_第17张图片
1

2、查询sys数据库中,表sys_config中包含的列名(show columns 可查询数据类型)

SQL汇总—(基础篇)_第18张图片
2

3、查询city表中所有的列,并按照population 排序(降序)

SQL汇总—(基础篇)_第19张图片
3

4、查询city表中的id name countrycode district population列,按照population降序,并且只选取100行

SQL汇总—(基础篇)_第20张图片
4

5、查询id name countrycode district population列,并且population大于等于10万小于等于50万

SQL汇总—(基础篇)_第21张图片
5

6、过滤。注意and和or 在一起使用时的计算顺序

SQL汇总—(基础篇)_第22张图片
6

7、通配符,筛选名字类似a_c%的id name countrycode district population列

SQL汇总—(基础篇)_第23张图片
7

8、常用文本函数

SQL汇总—(基础篇)_第24张图片
8


9、文本函数。解释substring(name,2,3)选择name名字3个字母,从 第二个字母开始,往后数3位

SQL汇总—(基础篇)_第25张图片
9

10、分组查询group by 常用于from后面

SQL汇总—(基础篇)_第26张图片
10

11、对分组数据进行过滤用having

SQL汇总—(基础篇)_第27张图片
11

12、子查询。常用于from后面,或者where后面

SQL汇总—(基础篇)_第28张图片
12

13、返回当前时间

SQL汇总—(基础篇)_第29张图片
13

14、联结表inner jion\left jion


SQL汇总—(基础篇)_第30张图片
14

15、组合插叙,union不计算重复值,all union计算重复值

SQL汇总—(基础篇)_第31张图片
15

16、存储筛选出来的数据,并创建表

SQL汇总—(基础篇)_第32张图片
16

17、空值:is null空值、not null 非空

17

18、插入数据。在插入中对应列的数据类型要一致

SQL汇总—(基础篇)_第33张图片
18

19、创建表并确定列的数据类型

SQL汇总—(基础篇)_第34张图片
19

20、保存数据。防止出错可以加if not exixts

SQL汇总—(基础篇)_第35张图片
20

21、时间撮里面的时间可以单独提取出来

SQL汇总—(基础篇)_第36张图片
21

22、时间处理函数

SQL汇总—(基础篇)_第37张图片
22

感悟:

为了准备这次实操截屏跟着视屏敲了2遍sql语言,准备了3个小时。总结一句实操很重要。(需要数据的点文本结尾领取利)

本来就是半瓶水,也不是很懂。感悟在前面都发挥完了哈哈,也没自己独特的见解,甚至自己连提问都不会

四、数据类型分类(补充、非重点)

1、数据类型分类:数值类型、浮点类型、字符串类型、时间日期类型

SQL汇总—(基础篇)_第38张图片
数据类型分类

2、数值类型:常用tintint、int

SQL汇总—(基础篇)_第39张图片
数值类型

3、浮点类型:常用decimal,更精确

SQL汇总—(基础篇)_第40张图片
浮点类型

4、字符串类型:常用char\varchar,十万字的文本用text可储存

SQL汇总—(基础篇)_第41张图片
字符串类型

5、时间类型:常用timestamp

SQL汇总—(基础篇)_第42张图片
时间类型

6、字段名修饰:常修饰数据类型

SQL汇总—(基础篇)_第43张图片
字段名修饰


ok,到这里sql就介绍完了,对于子查询、表的创建、表联结还不是很熟悉。后期边学习新内容边复习sql!!

写这篇文章有两个目的一是做分享、二是强迫自己输出为以后复习做准备。所以文章内容比较多但总而言之都在介绍sql,理解记忆还是很容易。

有一个很重要的感悟是:

多思考,只有理解到才是自己的。下次在复习的时候用自己思维写一篇sql进阶。

接下来将开始R和统计学的学习,附上课程数据:https://pan.baidu.com/s/1HZdmBl-jamup39dFqaw2qQ

祝国庆快乐

你可能感兴趣的:(SQL汇总—(基础篇))