跳到主要内容
跳到主要内容

SHOW 语句

备注

SHOW CREATE (TABLE|DATABASE|USER) 会隐藏机密,除非启用了以下设置:

此外,用户应具有 displaySecretsInShowAndSelect 权限。

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 dbFROM db.tab 是等价的。 如果未指定数据库,则查询返回当前数据库的列列表。

还有两个可选关键字:EXTENDEDFULLEXTENDED 关键字目前没有影响,并且是为了与 MySQL 兼容。FULL 关键字会导致输出包括排序、注释和权限列。

SHOW COLUMNS 语句生成一个具有以下结构的结果表:

描述类型
field列的名称String
type列的数据类型。如果查询是通过 MySQL 线协议进行的,则显示 MySQL 中的等效类型名称。String
null如果列的数据类型是 Nullable,则为 YES,否则为 NOString
key如果列是主键的一部分,则为 PRI;如果列是排序键的一部分,则为 SOR,否则为空String
default如果列类型是 ALIASDEFAULTMATERIALIZED,则为列的默认表达式,否则为 NULLNullable(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 dbFROM db.tab 是等价的。如果未指定数据库,则查询假定当前数据库为数据库。

可选关键字 EXTENDED 目前没有影响,并且是为了与 MySQL 兼容。

该语句生成一个具有以下结构的结果表:

描述类型
table表名String
non_unique始终为 1,因为 ClickHouse 不支持唯一约束。UInt8
key_name索引的名称,如果索引是主键索引,则为 PRIMARYString
seq_in_index对于主键索引,从 1 开始的列的位置。对于数据跳过索引:始终为 1UInt8
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索引类型,例如 PRIMARYMINMAXBLOOM_FILTER 等。String
comment关于索引的额外信息,目前始终为 ''(空字符串)。String
index_comment''(空字符串),因为 ClickHouse 中的索引不能具有 COMMENT 字段(如 MySQL)。String
visible如果该索引对优化器可见,始终为 YESString
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.rolessystem.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_usagesystem.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 表的内容。

语法

如果指定了 LIKEILIKE 子句,则查询返回名称与提供的 <pattern> 匹配的系统函数列表。

另请参见

SHOW MERGES

SHOW MERGES 语句返回合并的列表。 所有合并都列在 system.merges 表中:

描述
table表名称。
database表所在的数据库的名称。
estimate_complete完成的估计时间(以秒为单位)。
elapsed自合并开始以来经过的时间(以秒为单位)。
progress完成工作百分比(0-100%)。
is_mutation如果该过程是部分变异,则为 1。
size_compressed合并部分的压缩数据的总大小。
memory_usage合并过程中消耗的内存。

语法

示例