
# DDL语法一览表
DDL（Data Definition Language数据定义语言），用于定义或修改数据库中的对象。如：表、索引、视图等。
![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
GaussDB不支持数据库主节点不完整时进行DDL操作。例如：数据库中有1个数据库主节点故障时执行新建数据库、表等操作都会失败。
#### 定义客户端加密主密钥
客户端加密主密钥主要用于密态数据库特性，用来加密列加密密钥(cek)。客户端加密主密钥定义主要包括创建客户端加密主密钥以及删除客户端加密主密钥。所涉及的SQL语句，请参考[表1]。
 表1客户端加密主密钥定义相关SQL 
| 功能         | 相关SQL                                                                                                                                     |
|:---|:---|
| 创建客户端加密主密钥 | [CREATE CLIENT MASTER KEY](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0525.html#ZH-CN_TOPIC_0000002235459313) |
| 删除客户端加密主密钥 | [DROP CLIENT MASTER KEY](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0578.html#ZH-CN_TOPIC_0000002200419326)   |
   
#### 定义列加密密钥
列加密密钥主要用于密态数据库特性中，用来加密数据。列加密密钥定义主要包括创建列加密密钥、轮转加密列加密密钥的客户端主密钥以及删除列加密密钥。所涉及的SQL语句，请参考[表1]。
表2列加密密钥定义相关SQL 
| 功能               | 相关SQL                                                                                                                                                 |
|:---|:---|
| 创建列加密密钥          | [CREATE COLUMN ENCRYPTION KEY](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0526.html#ZH-CN_TOPIC_0000002200579018)         |
| 修改列加密密钥指定的客户端主密钥 | [8.14.191-ALTER COLUMN ENCRYPTION KEY](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0468.html#ZH-CN_TOPIC_0000002200419070) |
| 删除列加密密钥          | [DROP COLUMN ENCRYPTION KEY](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0579.html#ZH-CN_TOPIC_0000002235339545)           |
   
#### 定义数据库
数据库是组织、存储和管理数据的仓库，而数据库定义主要包括：创建数据库、修改数据库属性，以及删除数据库。所涉及的SQL语句，请参考[表3]。
 表3数据库定义相关SQL 
| 功能      | 相关SQL                                                                                                                            |
|:---|:---|
| 创建数据库   | [CREATE DATABASE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0528.html#ZH-CN_TOPIC_0000002235339441) |
| 修改数据库属性 | [ALTER DATABASE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0470.html#ZH-CN_TOPIC_0000002235459149)  |
| 删除数据库   | [DROP DATABASE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0580.html#ZH-CN_TOPIC_0000002235459433)   |
   
#### 定义模式
模式是一组数据库对象的集合，主要用于控制对数据库对象的访问。所涉及的SQL语句，请参考[表4]。
 表4模式定义相关SQL 
| 功能     | 相关SQL                                                                                                                          |
|:---|:---|
| 创建模式   | [CREATE SCHEMA](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0552.html#ZH-CN_TOPIC_0000002235459373) |
| 修改模式属性 | [ALTER SCHEMA](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0492.html#ZH-CN_TOPIC_0000002235339385)  |
| 删除模式   | [DROP SCHEMA](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0604.html#ZH-CN_TOPIC_0000002200579174)   |
   
#### 定义表空间
表空间用于管理数据对象，与磁盘上的一个目录对应。所涉及的SQL语句，请参考[表5]。
 表5表空间定义相关SQL 
| 功能      | 相关SQL                                                                                                                              |
|:---|:---|
| 创建表空间   | [CREATE TABLESPACE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0560.html#ZH-CN_TOPIC_0000002235459389) |
| 修改表空间属性 | [ALTER TABLESPACE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0503.html#ZH-CN_TOPIC_0000002200419194)  |
| 删除表空间   | [DROP TABLESPACE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0610.html#ZH-CN_TOPIC_0000002235339605)   |
   
#### 定义表
表是数据库中的一种特殊数据结构，用于存储数据对象以及对象之间的关系。所涉及的SQL语句，请参考[表6]。
 表6表定义相关SQL 
| 功能    | 相关SQL                                                                                                                         |
|:---|:---|
| 创建表   | [CREATE TABLE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0557.html#ZH-CN_TOPIC_0000002200579094) |
| 修改表属性 | [ALTER TABLE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0500.html#ZH-CN_TOPIC_0000002235339405)  |
| 删除表   | [DROP TABLE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0609.html#ZH-CN_TOPIC_0000002200419382)   |
   
#### 定义分区表
分区表是一种逻辑表，数据是由普通表存储的，主要用于提升查询性能。所涉及的SQL语句，请参考[表7]。
 表7分区表定义相关SQL 
| 功能      | 相关SQL                                                                                                                                   |
|:---|:---|
| 创建分区表   | [CREATE TABLE PARTITION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0559.html#ZH-CN_TOPIC_0000002235339505) |
| 创建分区    | [ALTER TABLE PARTITION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0501.html#ZH-CN_TOPIC_0000002235459269)  |
| 修改分区表属性 | [ALTER TABLE PARTITION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0501.html#ZH-CN_TOPIC_0000002235459269)  |
| 删除分区    | [ALTER TABLE PARTITION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0501.html#ZH-CN_TOPIC_0000002235459269)  |
| 删除分区表   | [DROP TABLE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0609.html#ZH-CN_TOPIC_0000002200419382)             |
   
#### 定义索引
索引是对数据库表中一列或多列的值进行排序的一种结构，使用索引可快速访问数据库表中的特定信息。所涉及的SQL语句，请参考[表8]。
 表8索引定义相关SQL 
| 功能     | 相关SQL                                                                                                                         |
|:---|:---|
| 创建索引   | [CREATE INDEX](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0537.html#ZH-CN_TOPIC_0000002200579046) |
| 修改索引属性 | [ALTER INDEX](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0479.html#ZH-CN_TOPIC_0000002200419126)  |
| 删除索引   | [DROP INDEX](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0589.html#ZH-CN_TOPIC_0000002200419346)   |
| 重建索引   | [REINDEX](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0641.html#ZH-CN_TOPIC_0000002200419486)      |
   
#### 定义存储过程
存储过程是一组为了完成特定功能的SQL语句集，经编译后存储在数据库中，用户通过指定存储过程的名称并给出参数（如果该存储过程带有参数）来执行它。所涉及的SQL语句，请参考[表9]。
 表9存储过程定义相关SQL 
| 功能      | 相关SQL                                                                                                                             |
|:---|:---|
| 创建存储过程  | [CREATE PROCEDURE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0545.html#ZH-CN_TOPIC_0000002200579066) |
| 删除存储过程  | [DROP PROCEDURE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0597.html#ZH-CN_TOPIC_0000002200419366)   |
| 重编译存储过程 | [ALTER PROCEDURE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0487.html#ZH-CN_TOPIC_0000002200419142)  |
   
#### 定义函数
在GaussDB中，它和存储过程类似，也是一组SQL语句集，使用上没有差别。所涉及的SQL语句，请参考[表10]。
 表10函数定义相关SQL 
| 功能     | 相关SQL                                                                                                                            |
|:---|:---|
| 创建函数   | [CREATE FUNCTION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0534.html#ZH-CN_TOPIC_0000002200419246) |
| 修改函数属性 | [ALTER FUNCTION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0476.html#ZH-CN_TOPIC_0000002235339353)  |
| 删除函数   | [DROP FUNCTION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0586.html#ZH-CN_TOPIC_0000002235339557)   |
   
#### 定义包
包由包头（package specification）和包体(package body)组成，用来分类管理存储过程和函数，类似于Java、C++等语言中的类。
表11包定义相关SQL 
| 功能    | 相关SQL                                                                                                                           |
|:---|:---|
| 创建包   | [CREATE PACKAGE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0544.html#ZH-CN_TOPIC_0000002235459357) |
| 删除包   | [DROP PACKAGE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0596.html#ZH-CN_TOPIC_0000002200579162)   |
| 修改包属性 | [ALTER PACKAGE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0486.html#ZH-CN_TOPIC_0000002200578938)  |
   
#### 定义视图
视图是从一个或几个基本表中导出的虚表，可用于控制用户对数据访问，请参考[表12]。
 表12视图定义相关SQL 
| 功能   | 相关SQL                                                                                                                        |
|:---|:---|
| 创建视图 | [CREATE VIEW](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0568.html#ZH-CN_TOPIC_0000002235459405) |
| 删除视图 | [DROP VIEW](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0617.html#ZH-CN_TOPIC_0000002200419398)   |
   
#### 定义游标
为了处理SQL语句，存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标，存储过程可以控制上下文区域的变化，请参考[表13]。
 表13游标定义相关SQL 
| 功能       | 相关SQL                                                                                                                   |
|:---|:---|
| 创建游标     | [CURSOR](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0570.html#ZH-CN_TOPIC_0000002200419314) |
| 移动游标     | [MOVE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0633.html#ZH-CN_TOPIC_0000002200419470)   |
| 从游标中提取数据 | [FETCH](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0624.html#ZH-CN_TOPIC_0000002200579218)  |
| 关闭游标     | [CLOSE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0516.html#ZH-CN_TOPIC_0000002235339425)  |
   
#### 定义聚合函数
表14聚合函数定义相关SQL 
| 功能         | 相关SQL                                                                                                                             |
|:---|:---|
| 创建一个新的聚合函数 | [CREATE AGGREGATE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0522.html#ZH-CN_TOPIC_0000002200579010) |
| 修改聚合函数     | [ALTER AGGREGATE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0466.html#ZH-CN_TOPIC_0000002235459145)  |
| 删除聚合函数     | [DROP AGGREGATE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0575.html#ZH-CN_TOPIC_0000002235339537)   |
   
#### 定义数据类型转换
表15数据类型定义相关SQL 
| 功能                | 相关SQL                                                                                                                        |
|:---|:---|
| 创建一个新的用户自定义数据类型转换 | [CREATE CAST](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0524.html#ZH-CN_TOPIC_0000002235339437) |
| 删除用户自定义数据类型转换     | [DROP CAST](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0577.html#ZH-CN_TOPIC_0000002200579126)   |
   
#### 定义插件扩展
![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
扩展功能为内部使用功能，不建议用户使用。
表16插件扩展定义相关SQL 
| 功能         | 相关SQL                                                                                                                             |
|:---|:---|
| 创建一个新的插件扩展 | [CREATE EXTENSION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0668.html#ZH-CN_TOPIC_0000002200579350) |
| 修改插件扩展     | [ALTER EXTENSION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0667.html#ZH-CN_TOPIC_0000002235459653)  |
| 删除插件扩展     | [DROP EXTENSION](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0669.html#ZH-CN_TOPIC_0000002235339773)   |
   
#### 定义操作符
表17操作符定义相关SQL 
| 功能        | 相关SQL                                                                                                                            |
|:---|:---|
| 创建一个新的操作符 | [CREATE OPERATOR](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0542.html#ZH-CN_TOPIC_0000002200419258) |
| 修改操作符     | [ALTER OPERATOR](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0484.html#ZH-CN_TOPIC_0000002235339369)  |
| 删除操作符     | [DROP OPERATOR](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0594.html#ZH-CN_TOPIC_0000002235339577)   |
   
#### 定义数据类型
表18数据类型定义相关SQL 
| 功能         | 相关SQL                                                                                                                        |
|:---|:---|
| 创建一个新的数据类型 | [CREATE TYPE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0565.html#ZH-CN_TOPIC_0000002200579106) |
| 修改数据类型     | [ALTER TYPE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0507.html#ZH-CN_TOPIC_0000002200419202)  |
| 删除数据类型     | [DROP TYPE](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0614.html#ZH-CN_TOPIC_0000002235339609)   |
   
#### 定义定时任务
表19定时任务定义相关SQL 
| 功能         | 相关SQL                                                                                                                         |
|:---|:---|
| 创建一个新的定时任务 | [CREATE EVENT](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0532.html#ZH-CN_TOPIC_0000002235339453) |
| 修改定时任务     | [ALTER EVENT](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0469.html#ZH-CN_TOPIC_0000002235339305)  |
| 删除定时任务     | [DROP EVENT](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0584.html#ZH-CN_TOPIC_0000002235459441)   |
   
#### 定义DATABASE LINK对象
DATABASE LINK是可以操作远程数据库对象，所涉及的SQL语句，请参考[表20]。
 表20DATABASE LINK对象相关SQL 
| 功能                    | 相关SQL                                                                                                                                 |
|:---|:---|
| 创建一个新的DATABASE LINK对象 | [CREATE DATABASE LINK](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0529.html#ZH-CN_TOPIC_0000002235459325) |
| 修改DATABASE LINK对象     | [ALTER DATABASE LINK](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0471.html#ZH-CN_TOPIC_0000002200578878)  |
| 删除DATABASE LINK对象     | [DROP DATABASE LINK](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-0581.html#ZH-CN_TOPIC_0000002200579134)   |
   
#### 定义外部数据封装器
表21外部数据封装器相关SQL 
| 功能        | 相关SQL                                                                                                                                        |
|:---|:---|
| 创建外部数据封装器 | [CREATE FOREIGN DATA WRAPPER](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-1587.html#ZH-CN_TOPIC_0000002235459333) |
| 修改外部数据封装器 | [ALTER FOREIGN DATA WRAPPER](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-1586.html#ZH-CN_TOPIC_0000002200578914)  |
| 删除外部数据封装器 | [DROP FOREIGN DATA WRAPPER](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-42-1588.html#ZH-CN_TOPIC_0000002200579142)   |
   
