
# DDL语法一览表
DDL（Data Definition Language，数据定义语言），用于定义或修改数据库中的对象。如：表、索引以及视图等。
![](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
M-Compatibility不支持CN不完整时进行DDL操作。例如：集群中有1个CN故障时执行新建数据库或表等操作都会失败。
#### 定义角色
角色是用来管理权限的，从数据库安全的角度考虑，可以把所有的管理和操作权限划分到不同的角色上。所涉及的SQL语句，如[表1]所示。
 表1角色定义相关SQL 
| 功能                 | 相关SQL                                                                                                                               |
|:---|:---|
| 创建角色               | [CREATE ROLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0074.html#ZH-CN_TOPIC_0000002558925203) |
| 修改角色属性             | [ALTER ROLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0052.html#ZH-CN_TOPIC_0000002527805456)  |
| 删除角色               | [DROP ROLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0092.html#ZH-CN_TOPIC_0000002558805299)   |
| 删除一个数据库角色所拥有的数据库对象 | [DROP OWNED](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0090.html#ZH-CN_TOPIC_0000002527805480)  |
   
#### 定义用户
用户是用来登录数据库的，通过对用户赋予不同的权限，可以方便地管理用户对数据库的访问及操作。所涉及的SQL语句，如[表2]所示。
 表2用户定义相关SQL 
| 功能     | 相关SQL                                                                                                                               |
|:---|:---|
| 创建用户   | [CREATE USER](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0080.html#ZH-CN_TOPIC_0000002527965422) |
| 修改用户属性 | [ALTER USER](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0059.html#ZH-CN_TOPIC_0000002558805277)  |
| 删除用户   | [DROP USER](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0096.html#ZH-CN_TOPIC_0000002558805301)   |
   
#### 定义数据库或模式
M-Compatibility中数据库（DATABASE）和模式（SCHEMA）是同义词，是组织、存储和管理数据的仓库，而数据库定义主要包括：创建数据库、修改数据库属性，以及删除数据库。所涉及的SQL语句，如[表3]所示。
 表3数据库定义相关SQL 
| 功能         | 相关SQL                                                                                                                                                                                                                                                                         |
|:---|:---|
| 创建数据库/模式   | [CREATE DATABASE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0070.html#ZH-CN_TOPIC_0000002527805466)，[CREATE SCHEMA](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0075.html#ZH-CN_TOPIC_0000002527965420) |
| 修改数据库/模式属性 | [ALTER DATABASE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0048.html#ZH-CN_TOPIC_0000002558925185)，[ALTER SCHEMA](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0053.html#ZH-CN_TOPIC_0000002558925189)   |
| 删除数据库/模式   | [DROP DATABASE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0086.html#ZH-CN_TOPIC_0000002558925209)，[DROP SCHEMA](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0093.html#ZH-CN_TOPIC_0000002527805482)     |
| 指定当前模式     | [USE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0140.html#ZH-CN_TOPIC_0000002558805325)                                                                                                                                                   |
   
#### 定义表
表是数据库中的一种特殊数据结构，用于存储数据对象以及对象之间的关系。所涉及的SQL语句，如[表4]所示。
 表4表定义相关SQL 
| 功能    | 相关SQL                                                                                                                                |
|:---|:---|
| 创建表   | [CREATE TABLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0077.html#ZH-CN_TOPIC_0000002527805472) |
| 修改表属性 | [ALTER TABLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0056.html#ZH-CN_TOPIC_0000002558925191)  |
| 删除表   | [DROP TABLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0095.html#ZH-CN_TOPIC_0000002527965432)   |
   
#### 定义分区表
分区表是一种逻辑表，数据是由普通表存储的，主要用于提升查询性能。所涉及的SQL语句，如[表5]所示。
 表5分区表定义相关SQL 
| 功能      | 相关SQL                                                                                                                                          |
|:---|:---|
| 创建分区表   | [CREATE TABLE PARTITION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0078.html#ZH-CN_TOPIC_0000002558925205) |
| 创建分区    | [ALTER TABLE PARTITION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0057.html#ZH-CN_TOPIC_0000002527965408)  |
| 修改分区表属性 | [ALTER TABLE PARTITION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0057.html#ZH-CN_TOPIC_0000002527965408)  |
| 删除分区    | [ALTER TABLE PARTITION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0057.html#ZH-CN_TOPIC_0000002527965408)  |
| 删除分区表   | [DROP TABLE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0095.html#ZH-CN_TOPIC_0000002527965432)             |
   
#### 定义索引
索引是对数据库表中一列或多列的值进行排序的一种结构，使用索引可快速访问数据库表中的特定信息。所涉及的SQL语句，如[表6]所示。
 表6索引定义相关SQL 
| 功能     | 相关SQL                                                                                                                                |
|:---|:---|
| 创建索引   | [CREATE INDEX](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0073.html#ZH-CN_TOPIC_0000002558925201) |
| 修改索引属性 | [ALTER INDEX](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0051.html#ZH-CN_TOPIC_0000002527805454)  |
| 删除索引   | [DROP INDEX](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0089.html#ZH-CN_TOPIC_0000002558925211)   |
| 重建索引   | [REINDEX](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0111.html#ZH-CN_TOPIC_0000002558925225)      |
   
#### 定义插件扩展
该特性为内部使用，不建议用户使用。
表7插件扩展定义相关SQL 
| 功能         | 相关SQL                                                                                                                                    |
|:---|:---|
| 创建一个新的插件扩展 | [CREATE EXTENSION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0071.html#ZH-CN_TOPIC_0000002558925199) |
| 修改插件扩展     | [ALTER EXTENSION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0049.html#ZH-CN_TOPIC_0000002527965400)  |
| 删除插件扩展     | [DROP EXTENSION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0087.html#ZH-CN_TOPIC_0000002527965426)   |
   
#### 定义用户组
表8用户组定义相关SQL 
| 功能         | 相关SQL                                                                                                                                |
|:---|:---|
| 创建一个新用户组   | [CREATE GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0072.html#ZH-CN_TOPIC_0000002527805468) |
| 修改一个用户组的属性 | [ALTER GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0050.html#ZH-CN_TOPIC_0000002558805271)  |
| 删除用户组      | [DROP GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0088.html#ZH-CN_TOPIC_0000002527805478)   |
   
#### 定义节点
表9节点定义相关SQL 
| 功能          | 相关SQL                                                                                                                               |
|:---|:---|
| 创建一个新的集群节点  | [CREATE NODE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0554.html#ZH-CN_TOPIC_0000002527965418) |
| 修改一个现有节点的定义 | [ALTER NODE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0496.html#ZH-CN_TOPIC_0000002558925187)  |
| 删除节点        | [DROP NODE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0603.html#ZH-CN_TOPIC_0000002527965428)   |
   
#### 定义节点组
表10节点组定义相关SQL 
| 功能           | 相关SQL                                                                                                                                     |
|:---|:---|
| 创建一个新的集群节点组  | [CREATE NODE GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0555.html#ZH-CN_TOPIC_0000002558805287) |
| 修改一个现有节点组的信息 | [ALTER NODE GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0497.html#ZH-CN_TOPIC_0000002527965404)  |
| 删除节点组        | [DROP NODE GROUP](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0604.html#ZH-CN_TOPIC_0000002558805297)   |
   
#### 定义序列
表11序列定义相关SQL 
| 功能             | 相关SQL                                                                                                                                   |
|:---|:---|
| 向当前数据库增加一个新的序列 | [CREATE SEQUENCE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0076.html#ZH-CN_TOPIC_0000002558805289) |
| 修改一个现有的序列的参数   | [ALTER SEQUENCE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0054.html#ZH-CN_TOPIC_0000002527965406)  |
| 从当前数据库里删除序列    | [DROP SEQUENCE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0094.html#ZH-CN_TOPIC_0000002558925215)   |
   
#### 定义资源标签
表12资源标签定义相关SQL 
| 功能     | 相关SQL                                                                                                                                         |
|:---|:---|
| 创建资源标签 | [CREATE RESOURCE LABEL](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0558.html#ZH-CN_TOPIC_0000002527805470) |
| 修改资源标签 | [ALTER RESOURCE LABEL](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0499.html#ZH-CN_TOPIC_0000002558805273)  |
| 删除资源标签 | [DROP RESOURCE LABEL](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0608.html#ZH-CN_TOPIC_0000002527965430)   |
   
#### 定义审计策略
表13审计策略定义相关SQL 
| 功能       | 相关SQL                                                                                                                                       |
|:---|:---|
| 创建统一审计策略 | [CREATE AUDIT POLICY](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0534.html#ZH-CN_TOPIC_0000002558805283) |
| 修改统一审计策略 | [ALTER AUDIT POLICY](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0479.html#ZH-CN_TOPIC_0000002558805269)  |
| 删除一个审计策略 | [DROP AUDIT POLICY](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0587.html#ZH-CN_TOPIC_0000002527805476)   |
   
#### 定义视图
表14视图定义相关SQL 
| 功能            | 相关SQL                                                                                                                               |
|:---|:---|
| 创建一个视图        | [CREATE VIEW](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0081.html#ZH-CN_TOPIC_0000002558805291) |
| 更改视图的各种辅助属性   | [ALTER VIEW](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0060.html#ZH-CN_TOPIC_0000002527805460)  |
| 数据库中强制删除已有的视图 | [DROP VIEW](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0097.html#ZH-CN_TOPIC_0000002527805484)   |
   
#### 定义函数
表15函数定义相关SQL 
| 功能   | 相关SQL                                                                                                                                   |
|:---|:---|
| 创建函数 | [CREATE FUNCTION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-42-0548.html#ZH-CN_TOPIC_0000002527965416) |
| 删除函数 | [DROP FUNCTION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-42-0604.html#ZH-CN_TOPIC_0000002558805295)   |
   
#### 修改指定节点的nodeis_active字段值
修改pgxc_node系统表中指定节点的nodeis_active字段值，请参见[ALTER COORDINATOR](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-12-0481.html#ZH-CN_TOPIC_0000002527805452)。
#### 收集统计信息
收集与数据库中普通表内容相关的统计信息，请参见[ANALYZE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0061.html#ZH-CN_TOPIC_0000002558925193)。
#### 清理回收站
M-Compatibility提供清理回收站的语句，请参见[PURGE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0109.html#ZH-CN_TOPIC_0000002558805309)。
#### 定义一个对象的注释
M-Compatibility支持定义或修改一个对象的注释的语句，请参见[COMMENT](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0067.html#ZH-CN_TOPIC_0000002558805281)。
#### 根据查询结果创建新表
M-Compatibility支持用于根据查询结果创建一个新表，并且将查询到的数据插入到新表的语句，请参见[SELECT INTO](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0129.html#ZH-CN_TOPIC_0000002527805502)。
#### 清理表数据
M-Compatibility支持在快速地从表中删除所有行的语句，请参见[TRUNCATE](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0137.html#ZH-CN_TOPIC_0000002527805506)。
#### 回收存储空间
M-Compatibility支持回收表或B-Tree索引中已经删除的行所占据的存储空间的语句，请参见[VACUUM](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0142.html#ZH-CN_TOPIC_0000002558925241)。
