暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase 学习笔记137:数据定义语言 DDL有什么用?

319

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/


数据定义语言 DDL 语句用于定义、更改和删除 Schema 对象。

DDL 使您能够在不改变访问对象的应用程序的情况下更改对象的属性。例如,您可以向人力资源应用程序访问的表中添加列,而无需重写该应用程序。 当数据库用户在数据库中执行工作时,也可以使用 DDL 更改对象的结构。

更具体地说,DDL 语句使您能够完成如下操作:

  • 创建、更改和删除 Schema 对象和其他数据库对象结构,包括数据库本身和数据库用户。大多数 DDL 语句以关键字 CREATEALTER 或 DROP 开头。

  • 删除 Schema 对象中的所有数据,而不删除这些对象的结构 (非 TRUNCATE 命令)。

  • 打开和关闭审核选项 (关键字 AUDIT 和 NOAUDIT)。

  • 为数据库对象添加注释。

数据库执行 DDL 语句之前,会进行一个隐式提交。执行完 DDL 语句后,会立即执行一个提交或回滚动作。

以下示例使用 DDL 语句创建 cusotmer 表,使用 DML 语句在表中插入两行。然后,使用 DDL 语句更改表结构,使用 DCL 语句向用户授予和回收此表的读取权限,最后删除该表。

CREATE customer(cust_id INT PRIMARY KEY,common_name VARCHAR2(15));

# DML 语句
INSERT INTO customer VALUES (1,'Tom'); 
INSERT INTO customer VALUES (2,'Mary'); 

# DDL 语句 
ALTER TABLE customer ADD ( cust_name VARCHAR2(40) ); 

# DCL 语句 
GRANT SELECT ON customer to User2;
REVOKE SELECT ON customer from Users;

# DDL 语句 
DROP TABLE customer;

上述示例中,两个插入语句后跟随一个 ALTER TABLE 语句,因此数据库提交两个插入操作。如果 ALTER TABLE 语句执行成功,则数据库提交此 DDL 语句;否则,数据库将回滚此 DDL 语句。无论是哪种情况,这两种情况的插入操作已经提交。


欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论