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
表中的 cluster
、 shard_num
、 replica_num
、 host_name
、 host_address
和 port
。
语法
示例
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 | 合并过程的内存消耗。 |