SQL 结构化查询语言(英语:Structured Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言。IBM公司最早使用在其开发的数据库系统中。19世纪70年代初出现在IBM,1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。
SQL包含四个部分:
1.DDL(Data Definition Language)数据定义语言
2.DML(Data Manipulation Language)数据操纵语言
3.DCL(Data Control Language)数据控制语言
4.TCL(Transaction Control Language)事务控制语言
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema.
DDL是SQL语言的四大功能之一。
用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束
DDL不需要commit.
CREATE - 在数据库中创建对象
ALTER - 改变数据库的结构
DROP - 从数据库中删除对象
TRUNCATE - 从表中删除所有记录,包括为记录分配的所有空格都将被删除
COMMENT - 将注释添加到数据字典
RENAME - 重命名对象
2.DML(Data Manipulation Language)数据操纵语言statements are used for managing data within schema objects.
由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。
DML分成交互型DML和嵌入型DML两类。
依据语言的级别,DML又可分成过程性DML和非过程性DML两种。
需要commit.
SELECT - 从数据库中检索数据
INSERT - 将数据插入到表中
UPDATE - 更新表中的现有数据
DELETE - 删除表中的所有记录,记录的空间仍然保留
MERGE - UPSERT操作(插入或更新)
CALL - 调用PL / SQL或Java子程序
解释计划 - 解释数据的访问路径
LOCK TABLE - 控制并发
3.DCL(Data Control Language)数据库控制语言 授权,角色控制等
GRANT - 给用户访问数据库的权限
REVOKE - 撤回GRANT命令给出的访问权限
4.TCL(Transaction Control Language)事务控制语言
COMMIT - 提交
SAVEPOINT - 识别可以稍后回滚的交易中的一个点
ROLLBACK - 自上次COMMIT起将数据库还原为原始数据
SET TRANSACTION - 更改事务选项,如隔离级别以及要使用的回滚段
SQL主要分成四部分:
(1)数据定义。(SQL DDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
(2)数据操纵。(SQL DML)数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
(3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
(4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。
参考资料来源:
http://www.orafaq.com/faq/what_are_the_difference_between_ddl_dml_and_dcl_commands
https://zh.wikipedia.org/wiki/SQL
版权著名:抹绿控的好奇宝宝