---
title: "DDL - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: DDL 数据定义语言 DDL 语句用于定义、更改和删除 Schema 对象。 DDL 使您能够在不改变访问对象的应用程序的情况下更改对象的属性。例如，您可以向人力资源应用程序访问的表中添加列，而无需重写该应用程序。 当数据库用户在数据库中执行工作时，也可以使用 DDL 更改对象的结构。 更具体地说，DDL 语句使您能…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.1 LTS

# DDL

更新时间：2026-04-16 00:11:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/100.oceanbase-database-concepts/700.user-interface-and-query-language/100.SQL/200.sql-statement/200.DDL-overview.md)  

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

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

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

- 创建、更改和删除 Schema 对象和其他数据库对象结构，包括数据库本身和数据库用户。大多数 DDL 语句以关键字 `CREATE`、`ALTER` 或 `DROP` 开头。
 - 删除 Schema 对象中的所有数据，而不删除这些对象的结构（`TRUNCATE` 命令）。
 - 打开和关闭审核选项 (关键字 `AUDIT` 和 `NOAUDIT`)。
 - 为数据库对象添加注释。

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

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

```sql
CREATE TABLE customer(cust_id INT PRIMARY KEY,common_name VARCHAR(15));

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

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

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

# DDL 语句
DROP TABLE customer;

```

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

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
