DDL语法一览表
DDL(Data Definition Language,数据定义语言),用于定义和修改数据库对象的标准SQL语言部分,主要包括CREATE、ALTER和DROP等语句,用于创建、修改和删除数据库中的对象,例如:表、索引、视图、约束、数据类型定义等。
GaussDB不支持CN不完整时进行DDL操作。例如:集群中有1个CN故障时执行新建数据库、表等操作都会失败。
删除数据库角色所拥有的数据库对象
GaussDB提供了删除一个数据库角色所拥有的数据库对象的语句,请参见DROP OWNED。
定义客户端加密主密钥
客户端加密主密钥主要用于密态数据库特性中,进行加密列加密密钥(CEK)。客户端加密主密钥定义主要包括:创建客户端加密主密钥以及删除客户端加密主密钥。所涉及的SQL语句,如表1所示。
定义列加密密钥
列加密密钥主要用于密态数据库特性中,进行加密数据。列加密密钥定义主要包括:创建列加密密钥、轮转加密列加密密钥的客户端主密钥以及删除列加密密钥。所涉及的SQL语句,如表2所示。
定义数据库
数据库是组织、存储和管理数据的仓库,而数据库定义主要包括:创建数据库、修改数据库属性以及删除数据库。所涉及的SQL语句,如表3所示。
定义模式
模式是一组数据库对象的集合,主要用于控制对数据库对象的访问。所涉及的SQL语句,如表4所示。
定义表空间
表空间用于管理数据对象,与磁盘上的一个目录对应。所涉及的SQL语句,如表5所示。
定义表
表是数据库中的一种特殊数据结构,用于存储数据对象以及对象之间的关系。所涉及的SQL语句,如表6所示。
定义分区表
分区表是一种逻辑表,而数据由普通表进行存储,分区表主要用于提升查询性能。所涉及的SQL语句,如表7所示。
定义索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。所涉及的SQL语句,如表8所示。
定义存储过程
存储过程是一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过指定存储过程的名称以及指定具体参数(如果该存储过程带有参数)进行执行。所涉及的SQL语句,如表9所示。
定义函数
在GaussDB中,函数和存储过程类似,也是一组SQL语句集,在使用时并无差别。所涉及的SQL语句,如表10所示。
定义包
包由包头(package specification)和包体(package body)组成,用于分类管理存储过程和函数,类似于Java、C++等语言中的类。所涉及的SQL语句,如表11所示。
当前形态下,使用PACKAGE语法,需要在ORA兼容模式数据库中执行。
定义资源池
资源池是负载管理模块使用的系统表,主要用于指定资源管理相关的属性,如:控制组。所涉及的SQL语句,如表12所示。
定义聚合函数
| 功能 | 相关SQL |
|---|---|
| 创建一个新的聚合函数 | |
| 修改聚合函数 | |
| 删除聚合函数 |
定义插件扩展
该特性为内部使用,只允许操作数据库内部的高级包或扩展。
| 功能 | 相关SQL |
|---|---|
| 创建(安装)一个新的扩展 | |
| 从数据库中删除一个扩展 |
定义数据类型
| 功能 | 相关SQL |
|---|---|
| 创建一个新的数据类型 | |
| 修改数据类型 | |
| 删除数据类型 |
定义DATABASE LINK对象
DATABASE LINK是一个可以操作远程数据库的对象,所涉及的SQL语句,如表16所示。
定义审计策略
| 功能 | 相关SQL |
|---|---|
| 创建统一审计策略 | |
| 修改统一审计策略内容 | |
| 删除一个审计策略 |
修改指定节点的nodeis_active字段值
修改pgxc_node系统表中指定节点的nodeis_active字段值,请参见ALTER COORDINATOR。
定义目录对象
| 功能 | 相关SQL |
|---|---|
| 创建一个目录对象 | |
| 修改对目录对象属性 | |
| 删除指定的目录对象 |
定义外表
| 功能 | 相关SQL |
|---|---|
| 创建一个外表 | |
| 修改外表属性 | |
| 删除指定的外表 |
定义外部数据封装器
| 功能 | 相关SQL |
|---|---|
| 创建外部数据封装器 | |
| 修改外部数据封装器属性 | |
| 删除外部数据封装器 |
gs_global_config系统表相关SQL
| 功能 | 相关SQL |
|---|---|
| 新增、修改系统表的参数值 | |
| 删除系统表中的参数值 | |
| 向系统表中插入一个或者多个弱口令 | |
| 清空系统表中的所有弱口令 |
定义用户组
| 功能 | 相关SQL |
|---|---|
| 创建一个新用户组 | |
| 修改用户组的属性 | |
| 删除用户组 |
定义过程语言
| 功能 | 相关SQL |
|---|---|
| 创建一种新的过程语言 | |
| 修改过程语言的属性 | |
| 删除一种过程语言 |
定义脱敏策略
| 功能 | 相关SQL |
|---|---|
| 创建脱敏策略 | |
| 修改脱敏策略内容 | |
| 删除脱敏策略 |
定义物化视图
| 功能 | 相关SQL |
|---|---|
| 创建一个全量物化视图 | |
| 创建一个增量物化视图 | |
| 修改现有物化视图的多个辅助属性 | |
| 强制删除数据库中已有的物化视图 | |
| 对物化视图以全量刷新的方式进行刷新 | |
| 对物化视图以增量刷新的方式进行刷新 |
定义节点
| 功能 | 相关SQL |
|---|---|
| 创建一个新的节点 | |
| 修改现有节点的属性 | |
| 删除节点 |
定义资源标签
| 功能 | 相关SQL |
|---|---|
| 创建资源标签 | |
| 修改资源标签属性 | |
| 删除资源标签 |
定义行访问控制策略
| 功能 | 相关SQL |
|---|---|
| 对表创建行访问控制策略 | |
| 对已存在的行访问控制策略进行修改 | |
| 删除表上指定的行访问控制策略 |
定义序列
| 功能 | 相关SQL |
|---|---|
| 向当前数据库增加一个新的序列 | |
| 修改指定序列的参数 | |
| 从当前数据库中删除序列 |
定义外部服务器
| 功能 | 相关SQL |
|---|---|
| 创建一个新的外部服务器 | |
| 增加、修改和删除指定服务器的参数 | |
| 删除指定服务器 |
定义同义词对象
| 功能 | 相关SQL |
|---|---|
| 创建一个同义词对象 | |
| 修改同义词对象的所有者 | |
| 删除指定的同义词对象 |
定义触发器
| 功能 | 相关SQL |
|---|---|
| 创建一个触发器 | |
| 修改触发器属性 | |
| 删除触发器 |
定义视图
| 功能 | 相关SQL |
|---|---|
| 创建一个视图 | |
| 更改视图的各种辅助属性 | |
| 强制删除数据库中已有的视图 |
收集统计信息
收集与数据库中普通表内容相关的统计信息,请参见ANALYZE | ANALYSE。
创建同步点
创建一个新集群节点间的同步点,请参见CREATE BARRIER。
创建编码转换
创建一种两个字符集编码之间的新转换关系,请参见CREATE CONVERSION。
定义模型
| 功能 | 相关SQL |
|---|---|
| 训练机器学习模型并保存模型 | |
| 删除一个已训练完成保存的模型对象 |
定义安全标签
| 功能 | 相关SQL |
|---|---|
| 创建安全标签 | |
| 应用更新或取消安全标签 | |
| 删除安全标签 |
导入DATABASE/TABLE
| 功能 | 相关SQL |
|---|---|
| 导入数据库的准备阶段 | |
| 导入数据库的执行阶段 | |
| 导入表的准备阶段 | |
| 导入表的执行阶段 |
导出文件
| 功能 | 相关SQL |
|---|---|
| 导出数据库的全部物理文件 | |
| 导出与表相关的全部文件 |
全文检索
| 功能 | 相关SQL |
|---|---|
| 创建一个新的文本搜索配置 | |
| 创建一个新的全文检索词典 | |
| 更改文本搜索配置的相关属性 | |
| 修改全文检索词典的相关属性 | |
| 删除已有文本搜索配置 | |
| 删除全文检索词典 |
清理回收站
GaussDB提供了清理回收站的语句,请参见PURGE。
对表进行聚簇排序
GaussDB提供了根据指定索引对表进行聚簇排序的语句,请参见CLUSTER。
定义一个对象的注释
GaussDB提供了创建、修改指定对象的注释的语句,请参见COMMENT。
根据查询结果创建新表
GaussDB支持用于根据查询结果创建一个新表,并且将查询到的数据插入到新表的语句,请参见SELECT INTO。
将表恢复到一个早期状态
GaussDB支持在人为操作后或应用程序错误时,将表恢复到一个早期状态的语句,请参见TIMECAPSULE TABLE。
清理表数据
GaussDB提供了快速地从表中删除所有行的语句,请参见TRUNCATE。
回收存储空间
GaussDB支持回收表或B-Tree索引中已经删除的行所占用的存储空间的语句,请参见VACUUM。