DDL语法一览表
功能描述
DDL(Data Definition Language数据定义语言),用于定义或修改数据库中的对象。如:表、索引、视图等。
Vastbase不支持数据库主节点不完整时进行DDL操作。例如:Vastbase中有1个数据库主节点故障时执行新建数据库、表等操作都会失败。
定义客户端加密主密钥
客户端加密主密钥主要用于密态数据库特性,用来加密列加密密钥(cek)。客户端加密主密钥定义主要包括创建客户端加密主密钥以及删除客户端加密主密钥。所涉及的SQL语句请参考表1:
表1 客户端加密主密钥定义相关SQL
功能 | 相关SQL |
---|---|
创建客户端加密主密钥 | CREATE CLIENT MASTER KEY |
删除客户端加密主密钥 | DROP CLIENT MASTER KEY |
定义列加密密钥
列加密密钥主要用于密态数据库特性中,用来加密数据。列加密密钥定义主要包括创建列加密密钥以及删除列加密密钥。所涉及的SQL语句请参考表2:
表2 列加密密钥定义相关SQL
功能 | 相关SQL |
---|---|
创建列加密密钥 | CREATE 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 |
定义存储过程
在Vastbase中,存储过程是一组用于完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数(如果该存储过程带有参数)来执行它。所涉及的SQL语句请参考表9:
表9 存储过程定义相关SQL
功能 | 相关SQL |
---|---|
创建存储过程 | CREATE PROCEDURE |
删除存储过程 | DROP PROCEDURE |
定义函数
在Vastbase中,函数和存储过程类似,也是一组SQL语句集,使用上没有差别。所涉及的SQL语句请参考表10:
表10 函数定义相关SQL
功能 | 相关SQL |
---|---|
创建函数 | CREATE FUNCTION |
修改函数属性 | ALTER FUNCTION |
删除函数 | DROP FUNCTION |
定义视图
视图是从一个或几个基本表中导出的虚表,可用于控制用户对数据访问,请参考表11:
表11 视图定义相关SQL
功能 | 相关SQL |
---|---|
创建视图 | CREATE VIEW |
删除视图 | DROP VIEW |
定义包
包是模块化的思想,由包头(package specification)和包体(package body)组成,用来分类管理存储过程和函数,类似于Java、C++等语言中的类,请参考表12:
表12 包定义相关SQL
功能 | 相关SQL |
---|---|
创建包 | CREATE PACKAGE |
删除包 | DROP PACKAGE |
修改包属性 | ALTER PACKAGE |
定义游标
为了处理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 |
定义操作符
操作符/运算符大多用于在SELECT命令的WHERE字句中,表示表达式与其他元素之间的特定算数或逻辑关系,为返回的数据指定更明确的条件。SQL里有多种操作符,能满足不同的查询需求。
表17 操作符定义相关SQL
功能 | 相关SQL |
---|---|
创建一个新的操作符 | CREATE OPERATOR |
修改操作符 | ALTER OPERATOR |
删除操作符 | DROP OPERATOR |
定义过程语言
表18 过程语言定义相关SQL
功能 | 相关SQL |
---|---|
创建一个新的过程语言 | CREATE LANGUAGE |
修改过程语言 | ALTER LANGUAGE |
删除过程语言 | DROP LANGUAGE |
定义数据类型
数据类型定义列中存放的值的种类。 SQL通用数据类型 数据库表中的每个列都要求有名称和数据类型。
表19 数据类型定义相关SQL
功能 | 相关SQL |
---|---|
创建一个新的数据类型 | CREATE TYPE |
修改数据类型 | ALTER TYPE |
删除数据类型 | DROP TYPE |