SQL的DDL,DML,TCL和DCL语句分别是数据定义语言,数据操作语言,事务控制语言和数据控制语言。
DDL(数据定义语言):
数据定义语言用于定义数据库结构或模式。DDL还用于指定数据的其他属性。数据库系统使用的存储结构和访问方法由一组特殊类型的DDL中的语句组成,称为数据存储和定义语言。这些语句定义了数据库模式的实现细节,这些细节通常对用户是隐藏的。存储在数据库中的数据值必须满足某些一致性约束。
例如,假设大学要求部门的帐户余额绝不能为负数。DDL提供了指定此类约束的工具。每次更新数据库时,数据库系统都会检查这些约束。通常,约束可以是与数据库有关的任意谓词。但是,任意谓词的测试成本可能很高。因此,数据库系统实现可以以最小开销测试的完整性约束。
一些命令:
CREATE:在数据库中创建对象
ALTER:改变数据库的结构
DROP:从数据库中删除对象
RENAME:重命名对象
以下SQL DDL语句定义了department表:
创建表部门
(dept_name char(20),
建筑炭(15),
预算数字(12,2));
执行上述DDL语句会创建包含三列的department表 - dept_name,building和budget; 每个都有与之关联的特定数据类型。
DML语句用于在模式对象中管理数据。
DML有两种类型 -
一些命令:
SELECT:从数据库中检索数据
INSERT:将数据插入表中
更新:更新表中的现有数据
DELETE:删除表中的所有记录,保留记录的空间
查找历史记录部门中所有教师名称的SQL查询示例:
选择instructor.name
来自教练
其中instructor.dept_name ='历史';
该查询指定必须检索dept_name为History的表教师中的那些行,并且必须显示这些行的名称属性。
事务控制语言命令用于管理数据库中的事务。这些用于管理DML语句所做的更改。它还允许将语句组合在一起成为逻辑事务。
TCL命令的示例 -
COMMIT:Commit命令用于永久保存任何事务
进入数据库。
ROLLBACK:此命令将数据库还原到上次提交状态。
它还与savepoint命令一起使用以跳转到保存点
在交易中。
SAVEPOINT:Savepoint命令用于临时保存事务
你可以在必要时回滚到那一点。
数据控制语言是一种类似于计算机编程语言的语法,用于控制对存储在数据库中的数据的访问(授权)。特别是,它是结构化查询语言(SQL)的一个组件。
DCL命令的示例:
GRANT:允许指定的用户执行指定的任务。
REVOKE:取消之前授予或拒绝的权限。
可以向用户或角色授予或撤消权限的操作适用于数据定义语言(DDL)和数据操作语言(DML),并且可以包括CONNECT,SELECT,INSERT,UPDATE,DELETE,EXECUTE和用法。
在Oracle数据库中,执行DCL命令会发出隐式提交。因此,您无法回滚命令。