文章导航
一、什么是SQL
SQL(Structured Query Language)是结构化查询语言的缩写,它是一种用于管理关系数据库系统(RDBMS)的编程语言。SQL 语言用于执行各种数据库操作,如查询、插入、更新和删除数据,以及创建和管理数据库对象,如表、索引、视图、存储过程和触发器等。
二、SQL语言的分类
2.1 数据查询语言(DQL, Data Query Language):
DQL语言主要用于查询数据库中的数据。它的基本结构由SELECT子句、FROM子句和WHERE子句组成。例如,使用SELECT column1, column2 FROM table_name WHERE condition;来查询满足特定条件的数据。
2.2 数据操纵语言(DML, Data Manipulation Language):
DML主要用于处理数据库中的数据内容。它主要包括三种形式:插入(INSERT)、更新(UPDATE)和删除(DELETE)。这些操作都是针对数据库中的记录进行的。
2.3 数据定义语言(DDL, Data Definition Language):
DDL用于定义或修改数据库结构。它涉及创建(CREATE)、修改(ALTER)和删除(DROP)数据库对象,如表、视图、索引等。DDL操作通常是隐性提交的,并且不能回滚。
2.4 数据控制语言(DCL, Data Control Language):
DCL用于控制对数据库的访问。它主要涉及授权(GRANT)和撤回(REVOKE)访问数据库的某种特权,以及控制数据库操纵事务发生的时间及效果。数据分析师通常只有数据库的读权限,工作中绝大多数情况仅使用数据查询语言DQL,若需要进行创建表/视图,对表字段进行更改的话,往往需要联系dba进行操作
三、常见名词介绍:
3.1 库(Database):
数据库是一个存储和组织数据的地方,通常它是一个软件系统,用于存储、检索、管理和保护数据。
3.2 表(Table):
表是数据库中的一个基本结构,用于存储和组织具有相同属性的数据。每个表都由行和列组成,其中列定义了数据的属性,行则存储了实际的数据记录。
3.3 视图(View):
视图是从一个或多个表中导出的虚拟表。它并不存储实际的数据,而是基于SQL查询的结果集。视图可以用来简化复杂的查询,限制用户对数据的访问,以及提供数据的抽象层。
3.4 列(Column):
列是表中的垂直部分,用于存储相同类型的数据。每列都有一个名称和数据类型,用于定义该列中数据的特性和结构。
3.5 行(Row):
行是表中的水平部分,用于存储实际的数据记录。每行都包含表中所有列的值,这些值一起构成了一个完整的数据记录。
3.6 主键(Primary Key):
主键是用于唯一标识表中每条记录的列或列组合。主键的值必须是唯一的,并且不能为null。主键用于建立表与表之间的关系,并确保数据的完整性和准确性。
3.7 外键(Foreign Key):
外键是一个或多个列的组合,其值引用另一个表的主键。外键用于建立表与表之间的关系,确保数据的引用完整性和准确性。
3.8 数据类型(Data Type):
数据类型是数据库中用于定义列可以存储的数据种类和格式的规则。不同的数据库管理系统支持不同的数据类型,如整数、浮点数、字符、日期等。
四、SQL执行顺序
4.1 书写顺序
SELECT --> FROM --> JOIN --> ON --> WHERE --> GROUP BY --> HAVING --> UNION --> ORDER BY -->LIMIT
4.2 执行顺序
FROM --> ON --> JOIN --> WHERE --> GROUP BY --> HAVING --> SELECT --> UNION --> ORDER BY -->LIMIT
4.3 执行顺序图解
4.4 注意
1、SELECT语句总是写在最前面,但在大部分语句之后才执行。所以在SQL语句中,我们不能在WHERE、GROUP BY、 HAVING语句中使用在 SELECT 中设定的别名(某些数据库可能因为自身特性可以在WHERE、GROUP BY、 HAVING语句中使用在 SELECT)。
2、SELECT语句执行这些步骤的时候,每个步骤都会产生一个虚拟表,然后将这个虚拟表传入下一个步骤中作为输入。需要注意的是,这些步骤隐含在SQL的执行过程中,对于我们来说是不可见的
五、学习网站
菜鸟教程
W3CSHOOL
FREE教程
各类数据库官网文档
等