最近拿到一家大数据工程师的offer,主要用到的是sql语言,结合一些spark,hadoop大数据平台平台框架。因此,在这里总结下sql语法知识的全面梳理,方便以后复习总结。
数据库的概念
一、什么是数据库
数据库是持久化数据的一种介质,可以理解成用来存储和管理数据的仓库!
二、数据库相关概念
DB
数据库( database ):存储数据的“仓库”。它保存了一系列有组织的数据。
DBMS
数据库管理系统( Database Management System )。数据库是通过 DBMS 创
建和操作的容器
SQL
结构化查询语言( Structure Query Language ):专门用来与数据库通信的语
言。
这里有个很形象的图片可以描述这三者的关系,DB数据库就相当于我们放文件的文件柜,而DBMS就相当于管理者文件柜的管家小秘,平时如果我们要取什么文件,就会叫我们的管家小秘去帮我们拿出来。(因为自己比较懒,而且文件比较多|小声BB)而我们的管家小秘又是个外星人,跟他说中文还不行,因此我们和他交流的语言就是SQL语言啦!
三、库、表、字段的概念
谈到数据库,我们听的最多的就是库、表、字段的概念啦!为了方便理解,我们可以比较我们常用的EXCEL表格。
- 库:相当于我们的一个excel文件
- 表:相当于一个excel文件中不同的表格
- 字段:相当于一个excel表格中的列名
SQL的概念
一、 什么是SQL
SQL(Structured Query Language)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQL Server等。
虽然SQL可以用在所有关系型数据库中,但很多数据库还都有标准之后的一些语法,我们可以称之为“方言”。例如MySQL中的LIMIT语句就是MySQL独有的方言,其它数据库都不支持!当然,Oracle或SQL Server都有自己的方言。
二、SQL语法要求
- SQL语句可以单行或多行书写,以分号结尾;
- 可以用空格和缩进来来增强语句的可读性;
- 关键字不区别大小写,建议使用大写;
三、分类
- DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
- DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)
- DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
- DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
这里重点掌握DQL语句和DML语句,也就是我们常说的增删改查。
DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。
DML就是增删改语句,而DDL大部分用于建表、建库和定义列用到的语句。DCL我们使用的就比较少了,是用于访问权限的设置。