SHOW 语句
SHOW CREATE TABLE | DICTIONARY | VIEW | DATABASE
这些语句返回一个类型为 String 的单列,包含用于创建指定对象的 CREATE
查询。
语法
如果您使用此语句获取系统表的 CREATE
查询,您将获得一个 虚假的 查询,该查询仅声明表结构,无法用于创建表。
SHOW DATABASES
此语句打印所有数据库的列表。
语法
它与查询相同:
示例
在此示例中,我们使用 SHOW
来获取名称中包含符号序列 'de' 的数据库名称:
我们也可以以不区分大小写的方式执行:
或者获取其名称中不包含 'de' 的数据库名称:
最后,我们可以仅获取前两个数据库的名称:
另请参见
SHOW TABLES
SHOW TABLES
语句显示一个表的列表。
语法
如果未指定 FROM
子句,则查询返回当前数据库的表列表。
此语句与查询相同:
示例
在此示例中,我们使用 SHOW TABLES
语句查找名称中包含 'user' 的所有表:
我们也可以以不区分大小写的方式执行:
或者查找名称中不包含字母 's' 的表:
最后,我们可以仅获取前两个表的名称:
另请参见
SHOW COLUMNS
SHOW COLUMNS
语句显示列的列表。
语法
数据库和表名可以以简写形式指定为 <db>.<table>
,这意味着 FROM tab FROM db
和 FROM db.tab
是等价的。
如果未指定数据库,则查询返回当前数据库的列列表。
还有两个可选关键字:EXTENDED
和 FULL
。EXTENDED
关键字目前没有影响,并且是为了与 MySQL 兼容。FULL
关键字会导致输出包括排序、注释和权限列。
SHOW COLUMNS
语句生成一个具有以下结构的结果表:
列 | 描述 | 类型 |
---|---|---|
field | 列的名称 | String |
type | 列的数据类型。如果查询是通过 MySQL 线协议进行的,则显示 MySQL 中的等效类型名称。 | String |
null | 如果列的数据类型是 Nullable,则为 YES ,否则为 NO | String |
key | 如果列是主键的一部分,则为 PRI ;如果列是排序键的一部分,则为 SOR ,否则为空 | String |
default | 如果列类型是 ALIAS 、DEFAULT 或 MATERIALIZED ,则为列的默认表达式,否则为 NULL 。 | Nullable(String) |
extra | 额外信息,目前未使用 | String |
collation | (仅当指定 FULL 关键字时)列的排列,始终为 NULL ,因为 ClickHouse 没有每列的排列 | Nullable(String) |
comment | (仅当指定 FULL 关键字时)列的注释 | String |
privilege | (仅当指定 FULL 关键字时)您在此列上的权限,目前不可用 | String |
示例
在此示例中,我们将使用 SHOW COLUMNS
语句获取关于表 'orders' 中所有列的信息,从 'delivery_' 字段开始:
另请参见
SHOW DICTIONARIES
SHOW DICTIONARIES
语句显示 字典 的列表。
语法
如果未指定 FROM
子句,则查询返回当前数据库的字典列表。
您可以以以下方式获取与 SHOW DICTIONARIES
查询相同的结果:
示例
以下查询选择 system
数据库中名称包含 reg
的前两行:
SHOW INDEX
显示表的主键和数据跳过索引的列表。
此语句主要是为了与 MySQL 兼容。系统表 system.tables
(用于主键) 和 system.data_skipping_indices
(用于数据跳过索引) 提供等效的信息,但采用对 ClickHouse 更原生的方式。
语法
数据库和表名可以被简写为 <db>.<table>
,即 FROM tab FROM db
和 FROM db.tab
是等价的。如果未指定数据库,则查询假定当前数据库为数据库。
可选关键字 EXTENDED
目前没有影响,并且是为了与 MySQL 兼容。
该语句生成一个具有以下结构的结果表:
列 | 描述 | 类型 |
---|---|---|
table | 表名 | String |
non_unique | 始终为 1 ,因为 ClickHouse 不支持唯一约束。 | UInt8 |
key_name | 索引的名称,如果索引是主键索引,则为 PRIMARY 。 | String |
seq_in_index | 对于主键索引,从 1 开始的列的位置。对于数据跳过索引:始终为 1 。 | UInt8 |
column_name | 对于主键索引,列的名称。对于数据跳过索引:'' (空字符串),见字段 "expression"。 | String |
collation | 索引中的列的排序:A 如果升序,D 如果降序,NULL 如果无序。 | Nullable(String) |
cardinality | 对于索引基数的估计(索引中唯一值的数量)。目前始终为 0。 | UInt64 |
sub_part | 始终为 NULL ,因为 ClickHouse 不支持像 MySQL 一样的索引前缀。 | Nullable(String) |
packed | 始终为 NULL ,因为 ClickHouse 不支持打包索引(类似 MySQL)。 | Nullable(String) |
null | 当前未使用 | |
index_type | 索引类型,例如 PRIMARY 、MINMAX 、BLOOM_FILTER 等。 | String |
comment | 关于索引的额外信息,目前始终为 '' (空字符串)。 | String |
index_comment | '' (空字符串),因为 ClickHouse 中的索引不能具有 COMMENT 字段(如 MySQL)。 | String |
visible | 如果该索引对优化器可见,始终为 YES 。 | String |
expression | 对于数据跳过索引,索引表达式。对于主键索引:'' (空字符串)。 | String |
示例
在此示例中,我们使用 SHOW INDEX
语句获取表 'tbl' 中所有索引的信息:
另请参见
SHOW PROCESSLIST
输出 system.processes
表的内容,该表包含正在处理的查询列表,不包括 SHOW PROCESSLIST
查询。
语法
SELECT * FROM system.processes
查询返回有关当前所有查询的数据。
在控制台中执行:
SHOW GRANTS
SHOW GRANTS
语句显示用户的权限。
语法
如果未指定用户,则查询返回当前用户的权限。
WITH IMPLICIT
修饰符允许显示隐式授权(例如,GRANT SELECT ON system.one
)
FINAL
修饰符合并用户及其授权角色的所有授权(包括继承)
SHOW CREATE USER
SHOW CREATE USER
语句显示在 用户创建 中使用的参数。
语法
SHOW CREATE ROLE
SHOW CREATE ROLE
语句显示在 角色创建 中使用的参数。
语法
SHOW CREATE ROW POLICY
SHOW CREATE ROW POLICY
语句显示在 行策略创建 中使用的参数。
语法
SHOW CREATE QUOTA
SHOW CREATE QUOTA
语句显示在 配额创建 中使用的参数。
语法
SHOW CREATE SETTINGS PROFILE
SHOW CREATE SETTINGS PROFILE
语句显示在 设置配置文件创建 中使用的参数。
语法
SHOW USERS
SHOW USERS
语句返回 用户帐户 名称的列表。
要查看用户帐户参数,请参见系统表 system.users
。
语法
SHOW ROLES
SHOW ROLES
语句返回 角色 的列表。
要查看其他参数,请参见系统表 system.roles
和 system.role_grants
。
语法
SHOW PROFILES
SHOW PROFILES
语句返回 设置配置文件 的列表。要查看用户帐户参数,请参见系统表 settings_profiles
。
语法
SHOW POLICIES
SHOW POLICIES
语句返回指定表的 行策略 的列表。要查看用户帐户参数,请参见系统表 system.row_policies
。
语法
SHOW QUOTAS
SHOW QUOTAS
语句返回 配额 的列表。
要查看配额参数,请参见系统表 system.quotas
。
语法
SHOW QUOTA
SHOW QUOTA
语句返回所有用户或当前用户的 配额 消耗情况。
要查看其他参数,请参见系统表 system.quotas_usage
和 system.quota_usage
。
语法
SHOW ACCESS
SHOW ACCESS
语句显示所有 用户、角色、配置文件 等和它们所有的 授权。
语法
SHOW CLUSTER(S)
SHOW CLUSTER(S)
语句返回集群的列表。
所有可用的集群都列在 system.clusters
表中。
SHOW CLUSTER name
查询显示指定集群名称的 system.clusters
表的内容。
语法
示例
SHOW SETTINGS
SHOW SETTINGS
语句返回系统设置及其值的列表。
它从 system.settings
表中选择数据。
语法
子句
LIKE|ILIKE
允许指定设置名称的匹配模式。它可以包含通配符,例如 %
或 _
。LIKE
子句是区分大小写的,ILIKE
是不区分大小写的。
当使用 CHANGED
子句时,查询仅返回已更改为默认值的设置。
示例
使用 LIKE
子句的查询:
使用 ILIKE
子句的查询:
使用 CHANGED
子句的查询:
SHOW SETTING
SHOW SETTING
语句输出指定设置名称的设置值。
语法
另请参见
SHOW FILESYSTEM CACHES
示例
另请参见
SHOW ENGINES
SHOW ENGINES
语句输出 system.table_engines
表的内容,该表包含服务器支持的表引擎及其功能支持信息的描述。
语法
另请参见
SHOW FUNCTIONS
SHOW FUNCTIONS
语句输出 system.functions
表的内容。
语法
如果指定了 LIKE
或 ILIKE
子句,则查询返回名称与提供的 <pattern>
匹配的系统函数列表。
另请参见
SHOW MERGES
SHOW MERGES
语句返回合并的列表。
所有合并都列在 system.merges
表中:
列 | 描述 |
---|---|
table | 表名称。 |
database | 表所在的数据库的名称。 |
estimate_complete | 完成的估计时间(以秒为单位)。 |
elapsed | 自合并开始以来经过的时间(以秒为单位)。 |
progress | 完成工作百分比(0-100%)。 |
is_mutation | 如果该过程是部分变异,则为 1。 |
size_compressed | 合并部分的压缩数据的总大小。 |
memory_usage | 合并过程中消耗的内存。 |