Schema信息

Hubble提供了information_schema的虚schema,其中包含了数据库的表、列、索引和视图的信息。

包含的数据信息

对象Infomation Schema 中的表使用show语句
columnscolumnsSHOW COLUMNS
Constraintscheck_constraints, key_column_usage, referential_constraints, table_constraintsSHOW CONSTRAINTS
DatabasesschemataSHOW DATABASE
IndexesstatisticsSHOW INDEX
Privilegesschema_privileges,table_privilegesSHOW GRANTS
Rolesrole_table_grantsSHOW ROLES
SequencessequencesSHOW CREATE SEQUENCE
TablestablesSHOW TABLES
Viewstables,viewsSHOW CREATE

administrable_role_authorizations

当前用户是否具有管理员权限的信息,如使用普通用户,查此表则为空

列名描述
grantee当前用户
role_name所属角色
is_grantable是否可授权

applicable_roles

标识当前用户可以使用其授权的所有角色。这意味着,存在一个从当前用户到相关角色的角色授予链。当前用户本身也是一个适用的角色,但是没有列出。

列名描述
grantee当前用户
role_name所属角色
is_grantable是否可授权

check_constraints

包含检查约束应用在具体数据库列的的信息

列名描述
constraint_catalog包含约束的数据库的名称
constraint_schema包含约束的schema的名称
constraint_name约束名称
check_clause检查约束的定义。

columns

包含关于每个表中列的信息

列名描述
table_catalog包含表的数据库的名称
table_schema包含表的schema的名称
table_schema表名称
table_schema列名称
table_schema表中列的序号位置(从1开始)。
column_default列的默认值。
is_nullable如果该列接受空值,则为YES;
data_type列的数据类型
character_maximum_length如果data_type是sting类型,则值的最大字符长度;否则无效。
character_octet_length如果data_type是字符串,则值的最大长度为8字节;否则无效。
numeric_precision如果data_type是数值型的,则声明的或隐式的精度,否则无效。
numeric_precision_radix如果data_type数值型的,则表示numeric_precision和numeric_scale列中的值的基数(2或10)。对于所有其他数据类型,column为NULL
numeric_scale如果data_type是精确的数字类型,则表示精度
datetime_precision保留字段
character_set_catalog保留字段
character_set_schema保留字段
character_set_name保留字段
domain_catalog保留字段
domain_schema保留字段
domain_name保留字段
generation_expression用于计算列类型的计算表达式
is_hidden是否为隐藏列
hubbledb_sql_type列的数据类型

column_privileges

对于列的授予信息

列名描述
grantor授予权限的角色的名称
grantee被授予权限的角色的名称
table_catalog包含包含列的表的数据库的名称
table_schema包含包含列的表的架构的名称
table_name表明
column_name列名
privilege_type授权类型
is_grantable保留字段

constraint_column_usage

某个约束使用的数据库中的所有列。

列名描述
table_catalog包含约束使用的列的表的数据库的名称
table_schema包含表的schema的名称,该表包含某些约束使用的列
table_name包含某些约束使用的列的表的名称
column_name约束使用的列的名称
constraint_catalog包含约束的数据库的名称
constraint_schema包含约束的schema名称
constraint_name约束名称

enabled_roles

当前用户的角色。这包括直接作用和间接作用。

列名描述
role_name角色名称

key_column_usage

使用主键、惟一键或外键/引用约束的列信息

列名描述
constraint_catalog包含约束的数据库的名称
constraint_schema包含约束的schema的名称
constraint_name约束名称
table_catalog包含约束表的数据库的名称
table_schema包含约束表的schema的名称
table_name约束表的名称
column_name约束列的名称
ordinal_position约束中列的序号位置(从1开始)
position_in_unique_constraint对于外键约束,引用列在其唯一性约束内的序号位置(从1开始)

referential_constraints

列名描述
constraint_catalog包含约束的数据库的名称
constraint_schema包含约束的架构的名称
constraint_name约束名称
unique_constraint_catalog包含外键约束引用的唯一或主键约束的数据库的名称(始终是当前数据库)。
unique_constraint_schema包含外键约束引用的唯一或主键约束的schema的名称
unique_constraint_name唯一或主键约束的名称
match_option外键约束的匹配选项:FULL、PARTIAL或NONE
update_rule外键约束的更新规则:CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION
delete_rule外键约束的删除规则:CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION
table_name包含约束的表的名称
referenced_table_name包含外键约束引用的唯一或主键约束的表的名称

role_table_grants

授予者或被授予者是当前启用角色的表或视图上授予了哪些特权。这个表与table_privileges相同。

列名描述
grantor授予权限的角色的名称
grantee被授予特权的角色的名称
table_catalog包含表的数据库的名称
table_schema包含表的schema的名称
table_name表名
privilege_type授权名称
is_grantable保留字段
with_hierarchy保留字段

schema_privileges

数据库级别上为每个用户授予信息。

列名描述
grantee授权的用户名
table_catalog包含约束表的数据库的名称。
table_schema包含约束表的schema名称。
table_schema特权的名称
table_schema保留字段

schemata

数据库的schema信息

列名描述
table_catalog数据库名称
table_schemaschema名称
default_character_set_name保留字段
sql_path保留字段

sequences

序列标识数据库中定义的序列

列名描述
sequence_catalog包含序列的数据库的名称
sequence_schema包含序列的架构的名称
sequence_name序列名称
data_type序列的数据类型
numeric_precision序列的精度
numeric_precision_radix表示列numeric_\precision和numeric_scale的值的基数(进制)。值为2或10
numeric_scale序列的精度
start_value序列的第一个值
minimum_value序列的最小值
maximum_value序列的最大值
increment序列递增的值。负数产生一个降序数列。一个正数产生一个升序
cycle_option目前,所有的序列都被设置为无循环,序列不会换行

statistics

表的索引信息

列名描述
table_catalog包含约束表的数据库的名称
table_schema包含约束表的schema的名称
table_name表名
non_unique如果索引是使用UNIQUE创建的,则为NO;如果没有使用UNIQUE创建索引,则为YES。
index_schema包含索引的数据库的名称
index_name索引名称
seq_in_index索引中列的序号位置(从1开始)
column_name被索引的列的名称
collation保留字段
cardinality保留字段
direction升序,降序
storing如果存储了列,则为YES;如果它是索引的或隐式的则为NO
implicit如果列是隐式的(即,未在索引中指定,也未存储)为YES;如果它被索引或存储为NO

table_constraints

应用于表的约束信息

列名描述
constraint_catalog包含约束的数据库的名称
constraint_schema包含约束的schema的名称
constraint_name约束的名称
table_catalog包含约束表的数据库的名称
table_schema包含约束表的schema的名称
table_name约束表的名称
constraint_type约束类型:CHECK、foreign key、PRIMARY KEY或UNIQUE
is_deferrable如果约束可以被延迟,则为no
initially_deferred如果约束是可延迟的且最初被延迟,则为YES;否则为NO

table_privileges

表级别的每个用户的权限信息

列名描述
grantor保留字段
grantee授权用户的用户名
table_catalog授权应用于的数据库的名称
table_schema授权应用于的schema的名称
table_name授权应用于的表的名称
privilege_type授权类型
is_grantable保留字段
with_hierarchy保留字段

tables

表与视图在数据库中的信息

列名描述
table_catalog包含表的数据库的名称
table_schema包含表的schema的名称
table_name表名
table_type表的类型:普通表的基表、视图的视图或系统创建的视图的系统视图
version表的版本号;版本从1开始,并且每次在表上发出ALTER TABLE语句时递增

user_privileges

包含了全局权限,且此视图仅包含root用户的全局特权

列名描述
grantee授权的用户名
table_catalog应用于的数据库权限的名称
privilege_type权限类型
is_grantable保留字段

views

数据库中的视图信息

列名描述
table_catalog包含视图的数据库的名称
table_schema包含视图的schema的名称
table_name视图的名称。
view_definition用于创建视图的子句
check_option保留字段
is_updatable保留字段
is_insertable_into保留字段
is_trigger_updatable保留字段
is_trigger_deletable保留字段
is_trigger_insertable_into保留字段