更新时间:2024-05-07 GMT+08:00

DDL语法一览表

DDL(Data Definition Language数据定义语言),用于定义或修改数据库中的对象。如:表、索引、视图等。

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

定义客户端加密主密钥

客户端加密主密钥主要用于密态数据库特性,用来加密列加密密钥(cek)。客户端加密主密钥定义主要包括创建客户端加密主密钥以及删除客户端加密主密钥。所涉及的SQL语句,请参考表1

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

功能

相关SQL

创建客户端加密主密钥

CREATE CLIENT MASTER KEY

删除客户端加密主密钥

DROP CLIENT MASTER KEY

定义列加密密钥

列加密密钥主要用于密态数据库特性中,用来加密数据。列加密密钥定义主要包括创建列加密密钥、轮转加密列加密密钥的客户端主密钥以及删除列加密密钥。所涉及的SQL语句,请参考表1

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

功能

相关SQL

创建列加密密钥

CREATE COLUMN ENCRYPTION KEY

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

8.14.191-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

删除表

DROP TABLE

定义分区表

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

表7 分区表定义相关SQL

功能

相关SQL

创建分区表

CREATE TABLE PARTITION

创建分区

ALTER TABLE PARTITION

修改分区表属性

ALTER TABLE PARTITION

删除分区

ALTER TABLE PARTITION

删除分区表

DROP TABLE

定义索引

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

表8 索引定义相关SQL

功能

相关SQL

创建索引

CREATE INDEX

修改索引属性

ALTER INDEX

删除索引

DROP INDEX

重建索引

REINDEX

定义存储过程

存储过程是一组为了完成特定功能的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++等语言中的类。

表11 包定义相关SQL

功能

相关SQL

创建包

CREATE PACKAGE

删除包

DROP PACKAGE

修改包属性

ALTER PACKAGE

定义视图

视图是从一个或几个基本表中导出的虚表,可用于控制用户对数据访问,请参考表12

表12 视图定义相关SQL

功能

相关SQL

创建视图

CREATE VIEW

删除视图

DROP VIEW

定义游标

为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化,请参考表13

表13 游标定义相关SQL

功能

相关SQL

创建游标

CURSOR

移动游标

MOVE

从游标中提取数据

FETCH

关闭游标

CLOSE

定义聚合函数

表14 聚合函数定义相关SQL

功能

相关SQL

创建一个新的聚合函数

CREATE AGGREGATE

修改聚合函数

ALTER AGGREGATE

删除聚合函数

DROP AGGREGATE

定义数据类型转换

表15 数据类型定义相关SQL

功能

相关SQL

创建一个新的用户自定义数据类型转换

CREATE CAST

删除用户自定义数据类型转换

DROP CAST

定义插件扩展

扩展功能为内部使用功能,不建议用户使用。

表16 插件扩展定义相关SQL

功能

相关SQL

创建一个新的插件扩展

CREATE EXTENSION

修改插件扩展

ALTER EXTENSION

删除插件扩展

DROP EXTENSION

定义操作符

表17 操作符定义相关SQL

功能

相关SQL

创建一个新的操作符

CREATE OPERATOR

修改操作符

ALTER OPERATOR

删除操作符

DROP OPERATOR

定义数据类型

表18 数据类型定义相关SQL

功能

相关SQL

创建一个新的数据类型

CREATE TYPE

修改数据类型

ALTER TYPE

删除数据类型

DROP TYPE

定义定时任务

表19 定时任务定义相关SQL

功能

相关SQL

创建一个新的定时任务

CREATE EVENT

修改定时任务

ALTER EVENT

删除定时任务

DROP EVENT

定义DATABASE LINK对象

DATABASE LINK是可以操作远程数据库对象,所涉及的SQL语句,请参考表20

表20 DATABASE LINK对象相关SQL

功能

相关SQL

创建一个新的DATABASE LINK对象

CREATE DATABASE LINK

修改DATABASE LINK对象

ALTER DATABASE LINK

删除DATABASE LINK对象

DROP DATABASE LINK

定义外部数据封装器

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

功能

相关SQL

创建外部数据封装器

CREATE FOREIGN DATA WRAPPER

修改外部数据封装器

ALTER FOREIGN DATA WRAPPER

删除外部数据封装器

DROP FOREIGN DATA WRAPPER