SQL 语言 分类 DDL DML TCL DQL DCL
SQL(Structured Query Language) 是结构化查询语言的缩写。
SQL是在关系数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据,所有数据库都使用相同或者相似的语言。
SQL可分为:
-
数据定义语言(DDL) : Data Definition Language 数据操纵语言(DML) : Data Manipulation Language 事务控制语言(TCL):Transaction Control Language) 数据查询语言(DQL):Data Query Language 数据控制语言(DCL) : Data Control Language
执行SQL语句时,用户只需要知道其逻辑含义,而不需要知道SQL语句的具体执行步骤。
数据定义语言(DDL)
用于建立、修改、删除数据库对象,包括创建语句(CREATE)、修改语句(ALTER)、删除语句(DROP),比如使用CREATE TABLE创建表,使用ALTER TABLE修改表,使用DROPTABLE删除表等动作。这类语言不需要事务的参与,自动提交。
数据操作语言(DML)
用于改变数据库数据,包括INSERT、UPDATE、DELETE三条语句。其中,INSERT语句用于将数据插入到数据库中,UPDATE语句用于更新数据库中已存在的数据,DELETE用于删除数据库中已存在的数据。DML语言和事务是相关的,执行完DML操作后必须经过事务控制语句提交后才真正的将改变应用到数据库中。
事务控制语言(TCL)
用来维护数据一致性的语句,包括提交(COMMIT)、回滚(ROLLBACK)、保存点(SAVEPOINT)三条语句,其中COMMIT用来确认已经进行的数据库改变, ROLLBACK语句用来取消已经进行的数据库改变,当执行DML操作后(也就是上面说的增加、修改、删除等动作),可以使用COMMIT语句来确认这种改变,或者使用ROLLBACK取消这种改变。SAVEPOINT语句用来设置保存点,使当前的事务可以回退到指定的保存点,便于取消部分改变。
数据查询语言(DQL)
用来查询所需要的数据。使用最广泛,语法灵活复杂。
数据控制语言(DCL)
用于执行权限的授予和收回操作、创建用户等,包括授予(GRANT)语句,收回(REVOKE)语句,CREATE USER语句,其中GRANT用于给用户或角色授予权限, REVOKE用于收回用户或角色已有的权限。DCL语句也不需要事务的参与,是自动提交的。