
# DDL语法一览表
DDL（Data Definition Language数据定义语言），用于定义或修改数据库中的对象。如：表、索引、视图等。
![](https://support.huaweicloud.com/sqlreference-dws/public_sys-resources/note_3.0-zh-cn.png)
DWS不支持CN不完整的情况下执行DDL操作。例如：集群中存在1个CN故障时，执行新建数据库、表等操作都会失败。
#### 定义数据库
数据库是组织、存储和管理数据的仓库，而数据库定义主要包括：创建数据库、修改数据库属性，以及删除数据库。所涉及的SQL语句，请参考下表。
表1数据库定义相关SQL 
| 功能      | 相关SQL                                                                                |
|:---|:---|
| 创建数据库   | [CREATE DATABASE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0156.html) |
| 修改数据库属性 | [ALTER DATABASE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0120.html)  |
| 删除数据库   | [DROP DATABASE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0189.html)   |
   
#### 定义模式
模式是一组数据库对象的集合，主要用于控制对数据库对象的访问。所涉及的SQL语句，请参考下表。
表2模式定义相关SQL 
| 功能     | 相关SQL                                                                              |
|:---|:---|
| 创建模式   | [CREATE SCHEMA](https://support.huaweicloud.com/sqlreference-dws/dws_06_0173.html) |
| 修改模式属性 | [ALTER SCHEMA](https://support.huaweicloud.com/sqlreference-dws/dws_06_0136.html)  |
| 删除模式   | [DROP SCHEMA](https://support.huaweicloud.com/sqlreference-dws/dws_06_0204.html)   |
   
#### 定义表
表是数据库中的一种特殊数据结构，用于存储数据对象以及对象之间的关系。所涉及的SQL语句，请参考下表。
表3表定义相关SQL 
| 功能       | 相关SQL                                                                             |
|:---|:---|
| 创建表      | [CREATE TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0177.html) |
| 修改表属性    | [ALTER TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0142.html)  |
| 修改表名     | [RENAME TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0276.html) |
| 删除表      | [DROP TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0208.html)   |
| 删除表的所有数据 | [TRUNCATE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0225.html)     |
   
#### 定义分区表
分区表是一种逻辑表，数据是由普通表存储的，主要用于提升查询性能。所涉及的SQL语句，请参考下表。
表4分区表定义相关SQL 
| 功能      | 相关SQL                                                                                       |
|:---|:---|
| 创建分区表   | [CREATE TABLE PARTITION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0179.html) |
| 修改分区    | [ALTER TABLE PARTITION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0143.html)  |
| 修改分区表属性 | [ALTER TABLE PARTITION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0143.html)  |
| 删除分区    | [ALTER TABLE PARTITION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0143.html)  |
| 删除分区表   | [DROP TABLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0208.html)             |
   
#### 定义索引
索引是对数据库表中一列或多列的值进行排序的一种结构，使用索引可快速访问数据库表中的特定信息。所涉及的SQL语句，请参考下表。
表5索引定义相关SQL 
| 功能     | 相关SQL                                                                             |
|:---|:---|
| 创建索引   | [CREATE INDEX](https://support.huaweicloud.com/sqlreference-dws/dws_06_0165.html) |
| 修改索引属性 | [ALTER INDEX](https://support.huaweicloud.com/sqlreference-dws/dws_06_0128.html)  |
| 删除索引   | [DROP INDEX](https://support.huaweicloud.com/sqlreference-dws/dws_06_0195.html)   |
| 重建索引   | [REINDEX](https://support.huaweicloud.com/sqlreference-dws/dws_06_0218.html)      |
   
#### 定义角色
角色是用来管理权限的，从数据库安全的角度考虑，可以把所有的管理和操作权限划分到不同的角色上。所涉及的SQL语句，请参考下表。
表6角色定义相关SQL 
| 功能     | 相关SQL                                                                            |
|:---|:---|
| 创建角色   | [CREATE ROLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0172.html) |
| 修改角色属性 | [ALTER ROLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0134.html)  |
| 删除角色   | [DROP ROLE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0203.html)   |
   
#### 定义用户
用户是用来登录数据库的，通过对用户赋予不同的权限，可以方便地管理用户对数据库的访问及操作。所涉及的SQL语句，请参考下表。
表7用户定义相关SQL 
| 功能     | 相关SQL                                                                            |
|:---|:---|
| 创建用户   | [CREATE USER](https://support.huaweicloud.com/sqlreference-dws/dws_06_0186.html) |
| 修改用户属性 | [ALTER USER](https://support.huaweicloud.com/sqlreference-dws/dws_06_0149.html)  |
| 删除用户   | [DROP USER](https://support.huaweicloud.com/sqlreference-dws/dws_06_0214.html)   |
   
#### 定义脱敏策略
数据脱敏策略是指对某些敏感信息通过脱敏规则进行数据的变形，实现敏感隐私数据的可靠保护。用户可以在指定表对象创建脱敏策略，并限定策略生效范围，也可以新增、修改、删除脱敏列信息。所涉及的SQL语句，请参考下表。
表8脱敏策略定义相关SQL 
| 功能            | 相关SQL                                                                                        |
|:---|:---|
| 对表创建数据脱敏策略    | [CREATE REDACTION POLICY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0168.html) |
| 修改应用在指定表的脱敏策略 | [ALTER REDACTION POLICY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0132.html)  |
| 删除应用在指定表的脱敏策略 | [DROP REDACTION POLICY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0199.html)   |
   
#### 定义行级访问控制
行级访问控制策略控制数据库表中行级数据可见性。不同用户执行相同的SQL查询操作，读取到的结果不同。所涉及的SQL语句，请参考下表。
表9行级访问控制定义相关SQL 
| 功能            | 相关SQL                                                                                                 |
|:---|:---|
| 创建行访问控制策略     | [CREATE ROW LEVEL SECURITY POLICY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0169.html) |
| 修改已存在的行访问控制策略 | [ALTER ROW LEVEL SECURITY POLICY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0135.html)  |
| 删除表上某个行访问控制策略 | [DROP ROW LEVEL SECURITY POLICY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0200.html)   |
   
#### 定义存储过程
存储过程是一组为了完成特定功能的SQL语句集，经编译后存储在数据库中，用户通过指定存储过程的名字并给出参数（如果该存储过程带有参数）来执行它。所涉及的SQL语句，请参考下表。
表10存储过程定义相关SQL 
| 功能     | 相关SQL                                                                                 |
|:---|:---|
| 创建存储过程 | [CREATE PROCEDURE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0170.html) |
| 删除存储过程 | [DROP PROCEDURE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0201.html)   |
   
#### 定义函数
DWS的函数是一段可重用的代码块，它接受输入参数，执行特定操作，并返回一个值或结果集。所涉及的SQL语句，请参考下表。
表11函数定义相关SQL 
| 功能     | 相关SQL                                                                                |
|:---|:---|
| 创建函数   | [CREATE FUNCTION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0163.html) |
| 修改函数属性 | [ALTER FUNCTION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0126.html)  |
| 删除函数   | [DROP FUNCTION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0193.html)   |
   
#### 定义视图
视图是基于SQL查询定义的逻辑虚拟表，仅保存视图定义而不物理存储数据。当基表数据发生变化时，视图查询结果自动同步更新，视图提供动态数据窗口，帮助用户高效聚焦目标数据。所涉及的SQL语句，请参考下表。
表12视图定义相关SQL 
| 功能   | 相关SQL                                                                            |
|:---|:---|
| 创建视图 | [CREATE VIEW](https://support.huaweicloud.com/sqlreference-dws/dws_06_0187.html) |
| 删除视图 | [DROP VIEW](https://support.huaweicloud.com/sqlreference-dws/dws_06_0215.html)   |
   
#### 定义游标
为了处理SQL语句，存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标，存储过程可以控制上下文区域的变化，请参考下表。
表13游标定义相关SQL 
| 功能       | 相关SQL                                                                       |
|:---|:---|
| 创建游标     | [CURSOR](https://support.huaweicloud.com/sqlreference-dws/dws_06_0188.html) |
| 移动游标     | [MOVE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0217.html)   |
| 从游标中提取数据 | [FETCH](https://support.huaweicloud.com/sqlreference-dws/dws_06_0216.html)  |
| 关闭游标     | [CLOSE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0152.html)  |
   
#### 操作会话
用户与数据库之间建立的连接称为会话，请参考下表。
表14会话相关SQL 
| 功能   | 相关SQL                                                                                          |
|:---|:---|
| 修改会话 | [ALTER SESSION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0139.html)             |
| 结束会话 | [ALTER SYSTEM KILL SESSION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0141.html) |
   
#### 定义资源池
资源池是负载管理模块使用的系统表，主要用于指定资源管理相关的属性，如控制组。所涉及的SQL语句，请参考下表。
表15资源池定义相关SQL 
| 功能      | 相关SQL                                                                                     |
|:---|:---|
| 创建资源池   | [CREATE RESOURCE POOL](https://support.huaweicloud.com/sqlreference-dws/dws_06_0171.html) |
| 修改资源池属性 | [ALTER RESOURCE POOL](https://support.huaweicloud.com/sqlreference-dws/dws_06_0133.html)  |
| 删除资源池   | [DROP RESOURCE POOL](https://support.huaweicloud.com/sqlreference-dws/dws_06_0202.html)   |
   
#### 定义同义词
同义词是兼容Oracle的一种特殊的数据库对象，用于存储与另一个数据库对象名间的映射关系，目前仅支持使用同义词关联以下数据库对象：表、视图、函数和存储过程。所涉及的SQL语句，请参考下表。
表16同义词定义相关SQL 
| 功能    | 相关SQL                                                                               |
|:---|:---|
| 创建同义词 | [CREATE SYNONYM](https://support.huaweicloud.com/sqlreference-dws/dws_06_0176.html) |
| 修改同义词 | [ALTER SYNONYM](https://support.huaweicloud.com/sqlreference-dws/dws_06_0140.html)  |
| 删除同义词 | [DROP SYNONYM](https://support.huaweicloud.com/sqlreference-dws/dws_06_0207.html)   |
   
#### 定义文本搜索配置
文本搜索配置指定了文本搜索解析器，该文本搜索解析器可以将字符串划分为标记，外加一些词典（可被用来决定哪些标记是搜索感兴趣的）。所涉及的SQL语句，请参考下表。
表17文本搜索配置相关SQL 
| 功能       | 相关SQL                                                                                                 |
|:---|:---|
| 创建文本搜索配置 | [CREATE TEXT SEARCH CONFIGURATION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0182.html) |
| 修改文本搜索配置 | [ALTER TEXT SEARCH CONFIGURATION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0145.html)  |
| 删除文本搜索配置 | [DROP TEXT SEARCH CONFIGURATION](https://support.huaweicloud.com/sqlreference-dws/dws_06_0210.html)   |
   
#### 定义全文检索词典
词典是在全文检索时识别特定词并进行处理。词典的创建依赖于预定义模板（在系统表PG_TS_TEMPLATE中定义），支持创建五种类型的词典，分别是Simple、Ispell、Synonym、Thesaurus、以及Snowball，每种类型的词典可以完成不同的任务。所涉及的SQL语句，请参考下表。
表18全文检索词典相关SQL 
| 功能       | 相关SQL                                                                                              |
|:---|:---|
| 创建全文检索词典 | [CREATE TEXT SEARCH DICTIONARY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0183.html) |
| 修改全文检索词典 | [ALTER TEXT SEARCH DICTIONARY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0146.html)  |
| 删除全文检索词典 | [DROP TEXT SEARCH DICTIONARY](https://support.huaweicloud.com/sqlreference-dws/dws_06_0211.html)   |
   
#### 定义查询过滤规则
对于提前识别到的慢SQL语句，用户可以通过创建查询过滤器规则来进行拦截。所涉及的SQL语句，请参考下表。
表19查询过滤规则相关SQL 
| 功能       | 相关SQL                                                                                  |
|:---|:---|
| 创建查询过滤规则 | [CREATE BLOCK RULE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0292.html) |
| 修改查询过滤规则 | [ALTER BLOCK RULE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0291.html)  |
| 删除查询过滤规则 | [DROP BLOCK RULE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0293.html)   |
   
