hubble中的SQL功能支持

使hubble易于使用是我们的首要任务,然而,即使SQL有一个标准,但也没有任何数据库实现SQL所有的功能。

要了解我们支持哪些标准SQL功能(以及标准的常见扩展),请见下文。

特征

类型值

类型是否支持备注
ARRAY
AUTO INCREMENT密钥会自动生成
BIT
BYTESHUBBLE扩展
BOOLEAN
COLLATE
DATE
DECIMAL,NUMERIC
ENUMPostgreSQL扩展
FLOAT,REAL
INETPostgreSQL扩展
INT
INTERVAL
JSON/JSONB
NULL
SERIALPostgreSQL扩展
SET 只允许行包含一组已定义术语的值。
STRING,CHARACTER
TIMESTAMP/TIMESTAMPTZ
TIME
UNSIGNED INT弃用,不支持使用
UUIDPostgreSQL扩展
身份标识
XMLXML数据存储为BYTES,但不提供XML解析。

约束条件

类型是否支持备注
Not Null
Unique
Primary Key
Check
Foreign Key
Default Value

事务

类型是否支持备注
事务(ACID语义)
BEGIN
COMMIT
ROLLBACK
SAVEPOINT支持嵌套事务使用SAVEPOINT

索引

类型是否支持备注
索引
多列索引
覆盖索引
GIN索引
部分索引
空间索引
每个查询多个索引对单个查询使用多个索引
全文索引
哈希索引提高查找单个精确值的查询的性能

架构更改

类型是否支持备注
ALTER TABLE
数据库重命名
表重命名
列重命名
改变列的数据类型
添加列
删除列
添加约束
移除约束
索引重命名
添加索引
删除索引
更改主键
添加用户定义的模式
删除用户定义的模式
改变用户定义的模式
将数据库转换为用户定义的模式

报表

类型是否支持备注
常用语句常用sql查询
UPSERT
EXPLAIN
SELECT FOR UPDATE

条款

类型是否支持备注
LIMIT限制语句返回的行数
LIMITOFFSET
RETURNING检索行语句影响的表

表表达式

类型是否支持备注
表和视图
AS在表表达式中as用作别名
(INNER,LEFT...)JOIN
子查询作为表表达式部分支持
表生成器函数部分支持
WITH ORDINALITY

标量表达式和布尔表达式

类型是否支持备注
常用运算符
IF/CASE/NULLIF
COALESCE/IFNULL
AND/OR
LIKE
SIMILAR TO
使用正则表达式进行匹配
EXISTS
标量子查询
COLLATE
列序号引用
类型注解

权限

类型是否支持备注
用户
角色
特权
默认权限PostgreSQL扩展
对象所有权

其他

类型是否支持备注
列族hubble扩展
计算列
ON UPDATEMySQL扩展
多区域能力hubble扩展
系统目录
序列
标识列
视图
物化视图
窗口函数
表表达式部分支持公用表表达式
存储过程
触发器
行级TTL