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