结构化查询语言(英语:Query,缩写:SQL)是一种专用编程语言,是数据库中使用的标准数据查询语言,最早由 IBM 在其开发的数据库系统中使用。 1986年10月,美国国家标准协会将SQL标准化为关系数据库管理系统的标准语言(ANSI X3.135-1986)。 1987年,在国际标准组织的支持下成为国际标准。 然而,各种流行的数据库系统在实践中都对SQL规范进行了一些修改和扩展。 因此,实际上不同数据库系统之间的SQL是不能完全互换的。 [维基百科]
SQL 是一种高级非过程编程语言,允许用户处理高级数据结构。 它不要求用户指定数据的存储方式,也不要求用户了解具体的数据存储方式。 而其接口使得底层结构完全不同、不同数据库的数据库系统可以使用相同的SQL进行数据输入和管理。 它使用记录项的集合(集合)[items, set]作为操作对象。 所有 SQL 语句都接受项集作为输入,并返回提交的项集作为输出。 这个项集特性允许一个SQL语句的输出作为另一个SQL语句的输入,因此SQL语句可以嵌套,这赋予了它很大的灵活性和强大的功能。 大多数情况下,需要用其他编程语言实现大型程序的单个事件只需一条语句就可以用 SQL 来表达。 这也意味着可以用 SQL 编写非常复杂的语句。 [维基百科]
SQL分类:
1. 数据查询语言(DQL)
数据查询语言(DQL)是 SQL 语言中的一种语句,负责查询数据而不修改数据本身。 这是最基本的SQL语句。
语法结构:
【需要提取的字段,或者用“*”代表所有字段】
FROM[要提取的数据源对象,包括数据表、视图表、表格用户函数等]——可以与JOIN一起使用进行关联连接。
WHERE[提取过滤条件]--WHERE是可选的。
[要汇总的分组字段]--使用汇总命令时需要GROUP BY。
[汇总字段用作条件]--当您想使用汇总函数作为条件时使用
[排序的字段和方向]--ORDER BY 是可选的,如果没有,则以查询引擎的输出顺序为主。
2. 数据定义语言(DDL)
数据定义语言(Data,DDL)是SQL语言集中的一种语言,负责数据结构定义和数据库对象定义。 它由三种语法组成:ALTER 和 DROP。 它最初是从(数据上)数据模型开始的,现在已合并到 SQL 中。 指令作为子集。
语法结构:
它可以用来创建用户、数据库、数据表、视图、存储过程、存储函数、触发器、索引等。
ALTER是负责修改数据库对象的指令。
DROP 是删除数据库对象的指令。 您只需指定要删除的数据库对象的名称。
3.数据操作语言(DML)
数据操作语言(Data,DML)是SQL语言中的指令集,负责对数据库对象运行数据访问工作。 它以三个指令为中心:插入、更新和删除。
语法结构:
它是将数据插入数据库对象的指令。 可以插入数据的数据库对象包括数据表和可更新的视图表。
该指令是根据给定的条件将数据表中符合条件的数据更新为新值。
它是从数据库对象中删除数据的指令。
4. 数据控制语言(DCL)
SQL语言中的数据控制语言(Data)是一种可以控制数据访问权限的指令。 它可以控制特定用户帐户对数据表、视图表、存储程序、用户自定义函数等数据库对象的控制权限。 。 由GRANT和两条指令组成。
DCL主要控制用户的访问权限。 GRANT是授权语句,对应于授权撤销语句。