更新时间:2026-10-21 GMT+08:00
分享

DDL语法一览表

DDL(Data Definition Language,数据定义语言),用于定义和修改数据库对象的标准SQL语言部分,主要包括CREATE、ALTER和DROP等语句,用于创建、修改和删除数据库中的对象,例如:表、索引、视图、约束、数据类型定义等。

GaussDB不支持CN不完整时进行DDL操作。例如:集群中有1个CN故障时执行新建数据库、表等操作都会失败。

删除数据库角色所拥有的数据库对象

GaussDB提供了删除一个数据库角色所拥有的数据库对象的语句,请参见DROP OWNED。

定义客户端加密主密钥

客户端加密主密钥主要用于密态数据库特性中,进行加密列加密密钥(CEK)。客户端加密主密钥定义主要包括:创建客户端加密主密钥以及删除客户端加密主密钥。所涉及的SQL语句,如表1所示。

表1 客户端加密主密钥定义相关SQL

功能

相关SQL

创建客户端加密主密钥

CREATE CLIENT MASTER KEY

删除客户端加密主密钥

DROP CLIENT MASTER KEY

定义列加密密钥

列加密密钥主要用于密态数据库特性中,进行加密数据。列加密密钥定义主要包括:创建列加密密钥、轮转加密列加密密钥的客户端主密钥以及删除列加密密钥。所涉及的SQL语句,如表2所示。

表2 列加密密钥定义相关SQL

功能

相关SQL

创建列加密密钥

CREATE COLUMN ENCRYPTION KEY

修改列加密密钥指定的客户端主密钥

ALTER COLUMN ENCRYPTION KEY

删除列加密密钥

DROP COLUMN ENCRYPTION KEY

定义数据库

数据库是组织、存储和管理数据的仓库,而数据库定义主要包括:创建数据库、修改数据库属性以及删除数据库。所涉及的SQL语句,如表3所示。

表3 数据库定义相关SQL

功能

相关SQL

创建数据库

CREATE DATABASE

修改数据库属性

ALTER DATABASE

删除数据库

DROP DATABASE

定义模式

模式是一组数据库对象的集合,主要用于控制对数据库对象的访问。所涉及的SQL语句,如表4所示。

表4 模式定义相关SQL

功能

相关SQL

创建模式

CREATE SCHEMA

修改模式属性

ALTER SCHEMA

删除模式

DROP SCHEMA

定义表空间

表空间用于管理数据对象,与磁盘上的一个目录对应。所涉及的SQL语句,如表5所示。

表5 表空间定义相关SQL

功能

相关SQL

创建表空间

CREATE TABLESPACE

修改表空间属性

ALTER TABLESPACE

删除表空间

DROP TABLESPACE

定义表

表是数据库中的一种特殊数据结构,用于存储数据对象以及对象之间的关系。所涉及的SQL语句,如表6所示。

表6 表定义相关SQL

功能

相关SQL

创建表

CREATE TABLE

修改表属性

ALTER TABLE

修改一个或多个表名称

RENAME TABLE

删除表

DROP TABLE

根据查询结果创建表

CREATE TABLE AS

定义分区表

分区表是一种逻辑表,而数据由普通表进行存储,分区表主要用于提升查询性能。所涉及的SQL语句,如表7所示。

表7 分区表定义相关SQL

功能

相关SQL

创建分区表

CREATE TABLE PARTITION

修改分区表(包括增加/删除分区以及修改分区属性等)

ALTER TABLE PARTITION

删除分区表

DROP TABLE

根据查询结果创建分区表

CREATE TABLE PARTITION | SUBPARTITION AS

定义索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。所涉及的SQL语句,如表8所示。

表8 索引定义相关SQL

功能

相关SQL

创建索引

CREATE INDEX

修改索引属性

ALTER INDEX

删除索引

DROP INDEX

重建索引

REINDEX

在指定的表上创建全局二级索引

CREATE GLOBAL INDEX

定义存储过程

存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名称以及指定具体参数(如果该存储过程带有参数)进行执行。所涉及的SQL语句,如表9所示。

表9 存储过程定义相关SQL

功能

相关SQL

创建存储过程

CREATE PROCEDURE

删除存储过程

DROP PROCEDURE

修改自定义存储过程的属性或重编译存储过程

ALTER PROCEDURE

定义函数

在GaussDB中,函数和存储过程类似,也是一组SQL语句集,在使用时并无差别。所涉及的SQL语句,如表10所示。

表10 函数定义相关SQL

功能

相关SQL

创建函数

CREATE FUNCTION

修改函数属性或重编译

ALTER FUNCTION

删除函数

DROP FUNCTION

定义包

包由包头(package specification)和包体(package body)组成,用于分类管理存储过程和函数,类似于Java、C++等语言中的类。所涉及的SQL语句,如表11所示。

表11 包定义相关SQL

功能

相关SQL

创建包

CREATE PACKAGE

删除包

DROP PACKAGE

修改包属性

ALTER PACKAGE

当前形态下,使用PACKAGE语法,需要在ORA兼容模式数据库中执行。

定义资源池

资源池是负载管理模块使用的系统表,主要用于指定资源管理相关的属性,如:控制组。所涉及的SQL语句,如表12所示。

表12 资源池定义相关SQL

功能

相关SQL

创建资源池

CREATE RESOURCE POOL

修改资源池属性

ALTER RESOURCE POOL

删除资源池

DROP RESOURCE POOL

定义聚合函数

表13 聚合函数定义相关SQL

功能

相关SQL

创建一个新的聚合函数

CREATE AGGREGATE

修改聚合函数

ALTER AGGREGATE

删除聚合函数

DROP AGGREGATE

定义插件扩展

该特性为内部使用,只允许操作数据库内部的高级包或扩展。

表14 插件扩展定义相关SQL

功能

相关SQL

创建(安装)一个新的扩展

CREATE EXTENSION

从数据库中删除一个扩展

DROP EXTENSION

定义数据类型

表15 数据类型定义相关SQL

功能

相关SQL

创建一个新的数据类型

CREATE TYPE

修改数据类型

ALTER TYPE

删除数据类型

DROP TYPE

定义DATABASE LINK对象

DATABASE LINK是一个可以操作远程数据库的对象,所涉及的SQL语句,如表16所示。

表16 DATABASE LINK对象相关SQL

功能

相关SQL

创建一个新的DATABASE LINK对象

CREATE DATABASE LINK

修改DATABASE LINK对象

ALTER DATABASE LINK

删除DATABASE LINK对象

DROP DATABASE LINK

定义审计策略

表17 审计策略定义相关SQL

功能

相关SQL

创建统一审计策略

CREATE AUDIT POLICY

修改统一审计策略内容

ALTER AUDIT POLICY

删除一个审计策略

DROP AUDIT POLICY

修改指定节点的nodeis_active字段值

修改pgxc_node系统表中指定节点的nodeis_active字段值,请参见ALTER COORDINATOR。

定义目录对象

表18 目录对象定义相关SQL

功能

相关SQL

创建一个目录对象

CREATE DIRECTORY

修改对目录对象属性

ALTER DIRECTORY

删除指定的目录对象

DROP DIRECTORY

定义外表

表19 外表定义相关SQL

功能

相关SQL

创建一个外表

CREATE FOREIGN TABLE

修改外表属性

ALTER FOREIGN TABLE

删除指定的外表

DROP FOREIGN TABLE

定义外部数据封装器

表20 外部数据封装器相关SQL

功能

相关SQL

创建外部数据封装器

CREATE FOREIGN DATA WRAPPER

修改外部数据封装器属性

ALTER FOREIGN DATA WRAPPER

删除外部数据封装器

DROP FOREIGN DATA WRAPPER

gs_global_config系统表相关SQL

表21 gs_global_config系统表相关SQL

功能

相关SQL

新增、修改系统表的参数值

ALTER GLOBAL CONFIGURATION

删除系统表中的参数值

DROP GLOBAL CONFIGURATION

向系统表中插入一个或者多个弱口令

CREATE WEAK PASSWORD DICTIONARY

清空系统表中的所有弱口令

DROP WEAK PASSWORD DICTIONARY

定义用户组

表22 用户组定义相关SQL

功能

相关SQL

创建一个新用户组

CREATE GROUP

修改用户组的属性

ALTER GROUP

删除用户组

DROP GROUP

定义过程语言

表23 过程语言定义相关SQL

功能

相关SQL

创建一种新的过程语言

CREATE LANGUAGE

修改过程语言的属性

ALTER LANGUAGE

删除一种过程语言

DROP LANGUAGE

定义脱敏策略

表24 脱敏策略定义相关SQL

功能

相关SQL

创建脱敏策略

CREATE MASKING POLICY

修改脱敏策略内容

ALTER MASKING POLICY

删除脱敏策略

DROP MASKING POLICY

定义物化视图

表25 物化视图定义相关SQL

功能

相关SQL

创建一个全量物化视图

CREATE MATERIALIZED VIEW

创建一个增量物化视图

CREATE INCREMENTAL MATERIALIZED VIEW

修改现有物化视图的多个辅助属性

ALTER MATERIALIZED VIEW

强制删除数据库中已有的物化视图

DROP MATERIALIZED VIEW

对物化视图以全量刷新的方式进行刷新

REFRESH MATERIALIZED VIEW

对物化视图以增量刷新的方式进行刷新

REFRESH INCREMENTAL MATERIALIZED VIEW

定义节点

表26 节点定义相关SQL

功能

相关SQL

创建一个新的节点

CREATE NODE

修改现有节点的属性

ALTER NODE

删除节点

DROP NODE

定义资源标签

表27 资源标签定义相关SQL

功能

相关SQL

创建资源标签

CREATE RESOURCE LABEL

修改资源标签属性

ALTER RESOURCE LABEL

删除资源标签

DROP RESOURCE LABEL

定义行访问控制策略

表28 行访问控制策略定义相关SQL

功能

相关SQL

对表创建行访问控制策略

CREATE ROW LEVEL SECURITY POLICY

对已存在的行访问控制策略进行修改

ALTER ROW LEVEL SECURITY POLICY

删除表上指定的行访问控制策略

DROP ROW LEVEL SECURITY POLICY

定义序列

表29 序列定义相关SQL

功能

相关SQL

向当前数据库增加一个新的序列

CREATE SEQUENCE

修改指定序列的参数

ALTER SEQUENCE

从当前数据库中删除序列

DROP SEQUENCE

定义外部服务器

表30 外部服务器定义相关SQL

功能

相关SQL

创建一个新的外部服务器

CREATE SERVER

增加、修改和删除指定服务器的参数

ALTER SERVER

删除指定服务器

DROP SERVER

定义同义词对象

表31 同义词对象定义相关SQL

功能

相关SQL

创建一个同义词对象

CREATE SYNONYM

修改同义词对象的所有者

ALTER SYNONYM

删除指定的同义词对象

DROP SYNONYM

定义触发器

表32 触发器定义相关SQL

功能

相关SQL

创建一个触发器

CREATE TRIGGER

修改触发器属性

ALTER TRIGGER

删除触发器

DROP TRIGGER

定义视图

表33 视图定义相关SQL

功能

相关SQL

创建一个视图

CREATE VIEW

更改视图的各种辅助属性

ALTER VIEW

强制删除数据库中已有的视图

DROP VIEW

收集统计信息

收集与数据库中普通表内容相关的统计信息,请参见ANALYZE | ANALYSE。

创建同步点

创建一个新集群节点间的同步点,请参见CREATE BARRIER。

创建编码转换

创建一种两个字符集编码之间的新转换关系,请参见CREATE CONVERSION。

定义模型

表34 模型定义相关SQL

功能

相关SQL

训练机器学习模型并保存模型

CREATE MODEL

删除一个已训练完成保存的模型对象

DROP MODEL

定义安全标签

表35 安全标签定义相关SQL

功能

相关SQL

创建安全标签

CREATE SECURITY LABEL

应用更新或取消安全标签

SECURITY LABEL ON

删除安全标签

DROP SECURITY LABEL

导入DATABASE/TABLE

表36 导入准备相关SQL

功能

相关SQL

导入数据库的准备阶段

IMPDP DATABASE CREATE

导入数据库的执行阶段

IMPDP RECOVER

导入表的准备阶段

IMPDP TABLE PREPARE

导入表的执行阶段

IMPDP TABLE

导出文件

表37 导出文件相关SQL

功能

相关SQL

导出数据库的全部物理文件

EXPDP DATABASE

导出与表相关的全部文件

EXPDP TABLE

全文检索

表38 全文检索相关SQL

功能

相关SQL

创建一个新的文本搜索配置

CREATE TEXT SEARCH CONFIGURATION

创建一个新的全文检索词典

CREATE TEXT SEARCH DICTIONARY

更改文本搜索配置的相关属性

ALTER TEXT SEARCH CONFIGURATION

修改全文检索词典的相关属性

ALTER TEXT SEARCH DICTIONARY

删除已有文本搜索配置

DROP TEXT SEARCH CONFIGURATION

删除全文检索词典

DROP TEXT SEARCH DICTIONARY

清理回收站

GaussDB提供了清理回收站的语句,请参见PURGE。

对表进行聚簇排序

GaussDB提供了根据指定索引对表进行聚簇排序的语句,请参见CLUSTER。

定义一个对象的注释

GaussDB提供了创建、修改指定对象的注释的语句,请参见COMMENT。

根据查询结果创建新表

GaussDB支持用于根据查询结果创建一个新表,并且将查询到的数据插入到新表的语句,请参见SELECT INTO。

将表恢复到一个早期状态

GaussDB支持在人为操作后或应用程序错误时,将表恢复到一个早期状态的语句,请参见TIMECAPSULE TABLE。

清理表数据

GaussDB提供了快速地从表中删除所有行的语句,请参见TRUNCATE。

回收存储空间

GaussDB支持回收表或B-Tree索引中已经删除的行所占用的存储空间的语句,请参见VACUUM。

相关文档