更新时间:2024-03-06 GMT+08:00
分享

DDL语法一览表

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

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

定义数据库

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

表1 数据库定义相关SQL

功能

相关SQL

创建数据库

CREATE DATABASE

修改数据库属性

ALTER DATABASE

删除数据库

DROP DATABASE

定义模式

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

表2 模式定义相关SQL

功能

相关SQL

创建模式

CREATE SCHEMA

修改模式属性

ALTER SCHEMA

删除模式

DROP SCHEMA

定义表

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

表3 表定义相关SQL

功能

相关SQL

创建表

CREATE TABLE

修改表属性

ALTER TABLE

修改表名

RENAME TABLE

删除表

DROP TABLE

删除表的所有数据

TRUNCATE

定义分区表

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

表4 分区表定义相关SQL

功能

相关SQL

创建分区表

CREATE TABLE PARTITION

修改分区

ALTER TABLE PARTITION

修改分区表属性

ALTER TABLE PARTITION

删除分区

ALTER TABLE PARTITION

删除分区表

DROP TABLE

定义外表

外表是指一个逻辑上的表对象,它对应的实际数据存储位置并不在数据库内部,而是存储于外部存储服务中。

表5 外表定义相关SQL

功能

相关SQL

创建GDS外表

CREATE FOREIGN TABLE (GDS导入导出)

创建HDFS或OBS外表(需手动创建Server)

CREATE FOREIGN TABLE (SQL on OBS or Hadoop)

创建OBS外表(默认Server)

CREATE FOREIGN TABLE (OBS导入导出)

创建协同分析外表

CREATE FOREIGN TABLE (SQL on other GaussDB(DWS))

修改GDS外表

ALTER FOREIGN TABLE (GDS导入导出)

HDFS外表和OBS外表

ALTER FOREIGN TABLE (For HDFS or OBS)

修改协同分析外表

ALTER FOREIGN TABLE (SQL on other GaussDB(DWS))

删除外表

DROP FOREIGN TABLE

定义索引

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

表6 索引定义相关SQL

功能

相关SQL

创建索引

CREATE INDEX

修改索引属性

ALTER INDEX

删除索引

DROP INDEX

重建索引

REINDEX

定义角色

角色是用来管理权限的,从数据库安全的角度考虑,可以把所有的管理和操作权限划分到不同的角色上。所涉及的SQL语句,请参考下表。

表7 角色定义相关SQL

功能

相关SQL

创建角色

CREATE ROLE

修改角色属性

ALTER ROLE

删除角色

DROP ROLE

定义用户

用户是用来登录数据库的,通过对用户赋予不同的权限,可以方便地管理用户对数据库的访问及操作。所涉及的SQL语句,请参考下表。

表8 用户定义相关SQL

功能

相关SQL

创建用户

CREATE USER

修改用户属性

ALTER USER

删除用户

DROP USER

定义脱敏策略

数据脱敏策略是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。用户可以在指定表对象创建脱敏策略,并限定策略生效范围,也可以新增、修改、删除脱敏列信息。所涉及的SQL语句,请参考下表。

表9 脱敏策略定义相关SQL

功能

相关SQL

对表创建数据脱敏策略

CREATE REDACTION POLICY

修改应用在指定表的脱敏策略

ALTER REDACTION POLICY

删除应用在指定表的脱敏策略

DROP REDACTION POLICY

定义行级访问控制

行级访问控制策略控制数据库表中行级数据可见性。不同用户执行相同的SQL查询操作,读取到的结果不同。所涉及的SQL语句,请参考下表。

表10 行级访问控制定义相关SQL

功能

相关SQL

创建行访问控制策略

CREATE ROW LEVEL SECURITY POLICY

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

ALTER ROW LEVEL SECURITY POLICY

删除表上某个行访问控制策略

DROP ROW LEVEL SECURITY POLICY

定义存储过程

存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。所涉及的SQL语句,请参考下表。

表11 存储过程定义相关SQL

功能

相关SQL

创建存储过程

CREATE PROCEDURE

删除存储过程

DROP PROCEDURE

定义函数

GaussDB(DWS)中,它和存储过程类似,也是一组SQL语句集,使用上没有差别。所涉及的SQL语句,请参考下表。

表12 函数定义相关SQL

功能

相关SQL

创建函数

CREATE FUNCTION

修改函数属性

ALTER FUNCTION

删除函数

DROP FUNCTION

定义视图

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

表13 视图定义相关SQL

功能

相关SQL

创建视图

CREATE VIEW

删除视图

DROP VIEW

定义序列

序列属于数据库对象,用户可以从序列中生成唯一整数。

表14 序列定义相关SQL

功能

相关SQL

创建序列

CREATE SEQUENCE

修改序列

ALTER SEQUENCE

删除序列

DROP SEQUENCE

定义触发器

触发器是一种特殊的存储过程,它与数据库表的事件相关联,可以在这些事件发生时自动执行,由对表的某些操作(如插入、删除、更新)所触发。

表15 触发器定义相关SQL

功能

相关SQL

创建触发器

CREATE TRIGGER

修改触发器

ALTER TRIGGER

删除触发器

DROP TRIGGER

定义游标

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

表16 游标定义相关SQL

功能

相关SQL

创建游标

CURSOR

移动游标

MOVE

从游标中提取数据

FETCH

关闭游标

CLOSE

操作会话

用户与数据库之间建立的连接称为会话,请参考下表。

表17 会话相关SQL

功能

相关SQL

修改会话

ALTER SESSION

结束会话

ALTER SYSTEM KILL SESSION

定义资源池

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

表18 资源池定义相关SQL

功能

相关SQL

创建资源池

CREATE RESOURCE POOL

修改资源池属性

ALTER RESOURCE POOL

删除资源池

DROP RESOURCE POOL

定义同义词

同义词是兼容Oracle的一种特殊的数据库对象,用于存储与另一个数据库对象名间的映射关系,目前仅支持使用同义词关联以下数据库对象:表、视图、函数和存储过程。所涉及的SQL语句,请参考下表。

表19 同义词定义相关SQL

功能

相关SQL

创建同义词

CREATE SYNONYM

修改同义词

ALTER SYNONYM

删除同义词

DROP SYNONYM

定义文本搜索配置

文本搜索配置指定了文本搜索解析器,该文本搜索解析器可以将字符串划分为标记,外加一些词典(可被用来决定哪些标记是搜索感兴趣的)。所涉及的SQL语句,请参考下表。

表20 文本搜索配置相关SQL

功能

相关SQL

创建文本搜索配置

CREATE TEXT SEARCH CONFIGURATION

修改文本搜索配置

ALTER TEXT SEARCH CONFIGURATION

删除文本搜索配置

DROP TEXT SEARCH CONFIGURATION

定义全文检索词典

词典是在全文检索时识别特定词并进行处理。词典的创建依赖于预定义模板(在系统表PG_TS_TEMPLATE中定义),支持创建五种类型的词典,分别是Simple、Ispell、Synonym、Thesaurus、以及Snowball,每种类型的词典可以完成不同的任务。所涉及的SQL语句,请参考下表。

表21 全文检索词典相关SQL

功能

相关SQL

创建全文检索词典

CREATE TEXT SEARCH DICTIONARY

修改全文检索词典

ALTER TEXT SEARCH DICTIONARY

删除全文检索词典

DROP TEXT SEARCH DICTIONARY

相关文档