You need to enable JavaScript to run this app.
ByteHouse 企业版

ByteHouse 企业版

复制全文
DDL
SHOW 语句(SHOW)
复制全文
SHOW 语句(SHOW)

您可使用 SHOW 语句查看数据库的相关信息,如查看当前集群中的数据库、数据库中的表、字典、权限等信息。

SHOW DATABASES

查看当前集群中的数据库,该查询等同于 SELECT name FROM system.databases

语法

SHOW DATABASES 

示例

-- 1. 创建库
CREATE DATABASE IF NOT EXISTS sample_db ON CLUSTER sample_cluster;

-- 2. 查看当前集群中的数据库
SHOW DATABASES;

SHOW TABLES

查看数据库中的表。

语法

使用时,如果未指定FROM 子句,查询将返回当前数据库中的表。

SHOW TABLES [FROM [databaseIdentifier]] [LIKE STRING_LITERAL]

参数说明

参数

是否必填

格式要求

说明

LIKE 'STRING_LITERAL'

可选

字符串字面量
(需单引号包裹)

表名模式过滤:
• 支持通配符 % (匹配任意字符序列)
• 支持通配符 _ (匹配单个字符)
示例:
LIKE 'user%' → 匹配 user_logs/users 等
LIKE 'temp_' → 匹配 temp1/tempA 等

示例

-- 1. 创建库
CREATE DATABASE IF NOT EXISTS sample_db ON CLUSTER sample_cluster;

-- 2. 创建表
DROP TABLE IF EXISTS sample_db.sample_table ON CLUSTER sample_cluster;
CREATE TABLE IF NOT EXISTS sample_db.sample_table ON CLUSTER sample_cluster;

-- 3. 查询名称中包含 table 的表
SHOW TABLES FROM sample_db LIKE '%table'

SHOW CREATE TABLE

查看表的建表语句。

语法

SHOW CREATE [TABLE] [tableIdentifier]

示例

-- 1. 创建库
CREATE DATABASE IF NOT EXISTS sample_db ON CLUSTER sample_cluster;

-- 2. 创建表
DROP TABLE IF EXISTS sample_db.sample_table ON CLUSTER sample_cluster;
CREATE TABLE sample_db.sample_table ON CLUSTER sample_cluster (
    `order_by_column` String
)
ENGINE = `MergeTree`
ORDER BY (`order_by_column`)

-- 3. 查看建表语句,系统将返回上述建表语句
SHOW CREATE TABLE sample_db.sample_table

SHOW DICTIONARIES

查看当前数据库或指定数据库中的字典列表。

语法

使用时,如果您未指定 FROM 子句,系统将返回当前数据库的字典列表。

SHOW DICTIONARIES [FROM ] 
[LIKE ''] 
[LIMIT ] 
[INTO OUTFILE ] 
[FORMAT ]

参数说明

参数

是否必填

说明

LIKE ''

可选

字典名称过滤模式:
• 支持 % 匹配任意字符(如 prod_%
• 支持 _ 匹配单个字符(如 dict_v_

LIMIT

可选

限制返回结果数量(正整数,如 LIMIT 10

INTO OUTFILE '<file_path>'

可选

将结果导出到文件(需绝对路径,如 /data/dict_list.csv

FORMAT <format_name>

可选

指定返回结果的格式(如 JSONCSV 等)

您也可以通过以下查询查看字典列表:

SELECT name 
FROM system.dictionaries 
WHERE database =  [AND name LIKE ] [LIMIT ] [INTO OUTFILE ] [FORMAT ]

示例

执行以下命令,查询 system 数据库中名称包含 'dict' 的字典表,返回前 2 个匹配结果。

-- 1. 创建库
CREATE DATABASE IF NOT EXISTS sample_db ON CLUSTER sample_cluster;

-- 2. 创建字典
CREATE DICTIONARY IF NOT EXISTS sample_db.sample_dict ON CLUSTER sample_cluster (
    `user_id` UInt64,
    `username` String,
    `age` UInt8 DEFAULT 0,
    `gender` UInt8 DEFAULT 0,
    `last_login` DateTime
)
PRIMARY KEY user_id
SOURCE(MySQL(
    host 'mysql_host.example.com'
    port 3306
    user 'dict_reader'
    password 'secure_password'
    db 'user_db'
    table 'users'
))
LAYOUT(FLAT())
LIFETIME(MIN 300 MAX 900);

-- 3. 查看字典
SHOW DICTIONARIES FROM sample_db.sample_dict LIKE '%dict%' LIMIT 2
┌─name─────┐
│ sample_dict  │
└────────┘

SHOW PROCESSLIST

查看当前数据库活动进程。

语法

SHOW PROCESSLIST [INTO OUTFILE filename] [FORMAT format]

该查询可查看除 SHOW PROCESSLIST 查询外,所有正在执行的查询请求列表,等同于输出 system.processes 系统表的内容。
您可使用 SELECT * FROM system.processes 查询返回和当前请求相关的所有数据,其中也包括 SHOW PROCESSLIST 命令自身的进程。
提示(在控制台执行):

$ watch -n1 "clickhouse-client --query='SHOW PROCESSLIST'"

示例

SHOW PROCESSLIST 
INTO OUTFILE '/var/log/long_queries.json';

SHOW GRANTS

查看用户的权限。使用时,如果未指定用户,系统将输出当前用户的权限。

语法

SHOW GRANTS [FOR user]

示例

-- 查看当前用户权限
SHOW GRANTS; 

-- 查看指定用户权限
SHOW GRANTS FOR 'demo_user';

SHOW CREATE USER

查看创建用户时使用的参数,但 SHOW CREATE USER 不会输出用户的密码信息。

语法

SHOW CREATE USER [name | CURRENT_USER]

示例

SHOW CREATE USER demo_user;

SHOW CREATE ROLE

查看创建角色时使用的参数。

语法

SHOW CREATE ROLE name 

SHOW CREATE ROW POLICY

查看指定行级安全策略(Row Policy)的创建参数,用于审计或重建策略。

语法

SHOW CREATE [ROW] POLICY name ON [database.]table 

示例

SHOW CREATE POLICY region_policy ON users;
最近更新时间:2025.08.14 10:17:09
这个页面对您有帮助吗?
有用
有用
无用
无用