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

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 表中的 clustershard_numreplica_numhost_namehost_addressport

语法

示例

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合并过程的内存消耗。

语法

示例