hubble中的SQL功能支持
使hubble易于使用是我们的首要任务,然而,即使SQL有一个标准,但也没有任何数据库实现SQL所有的功能。
要了解我们支持哪些标准SQL功能(以及标准的常见扩展),请见下文。
特征
类型值
| 类型 | 是否支持 | 备注 |
|---|
ARRAY | 是 | |
AUTO INCREMENT | 是 | 密钥会自动生成 |
BIT | 是 | |
BYTES | 是 | HUBBLE扩展 |
BOOLEAN | 是 | |
COLLATE | 是 | |
DATE | 是 | |
DECIMAL,NUMERIC | 是 | |
ENUM | 是 | PostgreSQL扩展 |
FLOAT,REAL | 是 | |
INET | 是 | PostgreSQL扩展 |
INT | 是 | |
INTERVAL | 是 | |
JSON/JSONB | 是 | |
NULL | 是 | |
SERIAL | 是 | PostgreSQL扩展 |
SET | 否 | 只允许行包含一组已定义术语的值。 |
STRING,CHARACTER | 是 | |
TIMESTAMP/TIMESTAMPTZ | 是 | |
TIME | 是 | |
UNSIGNED INT | 否 | 弃用,不支持使用 |
UUID | 是 | PostgreSQL扩展 |
| 身份标识 | 是 | |
XML | 否 | XML数据存储为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 | 是 | 限制语句返回的行数 |
LIMIT和OFFSET | 是 | |
RETURNING | 是 | 检索行语句影响的表 |
表表达式
| 类型 | 是否支持 | 备注 |
|---|
| 表和视图 | 是 | |
AS在表表达式中 | 是 | as用作别名 |
(INNER,LEFT...)JOIN | 是 | |
| 子查询作为表表达式 | 部分支持 | |
| 表生成器函数 | 部分支持 | |
WITH ORDINALITY | 是 | |
标量表达式和布尔表达式
| 类型 | 是否支持 | 备注 |
|---|
| 常用运算符 | 是 | |
IF/CASE/NULLIF | 是 | |
COALESCE/IFNULL | 是 | |
AND/OR | 是 | |
LIKE | 是 | |
SIMILAR TO | 是 | |
| 使用正则表达式进行匹配 | 是 | |
EXISTS | 是 | |
| 标量子查询 | 是 | |
COLLATE | 是 | |
| 列序号引用 | 是 | |
| 类型注解 | 是 | |
权限
| 类型 | 是否支持 | 备注 |
|---|
| 用户 | 是 | |
| 角色 | 是 | |
| 特权 | 是 | |
| 默认权限 | 是 | PostgreSQL扩展 |
| 对象所有权 | 是 | |
其他
| 类型 | 是否支持 | 备注 |
|---|
| 列族 | 是 | hubble扩展 |
| 计算列 | 是 | |
ON UPDATE | 是 | MySQL扩展 |
| 多区域能力 | 是 | hubble扩展 |
| 系统目录 | 是 | |
| 序列 | 是 | |
| 标识列 | 是 | |
| 视图 | 是 | |
| 物化视图 | 是 | |
| 窗口函数 | 是 | |
| 表表达式 | 部分支持 | 公用表表达式 |
| 存储过程 | 否 | |
| 触发器 | 否 | |
| 行级TTL | 是 | |