ClickHouse查看数据库、表、列等元数据信息

ClickHouse提供系统表查询数据库的状态,包括服务器环境、数据库信息、表信息、列信息、函数、配置等信息。系统表位于system数据库中,仅可用于读取数据,大多数系统表数据会加载到内存中。CK提供的系统表主要包括:

  • system.tables:包含数据库中所有表的信息,如表名、引擎类型、创建时间等。
  • system.columns:包含每个表的列信息,如列名、数据类型、缺省值等。
  • system.databases:包含所有数据库信息,如库名、引擎类型、数据路径等。
  • system.functions:包含所有有效函数信息,如名称、参数、返回值等。
  • system.parts:包含每个表的分片信息,如位置、大小、分区键等。
  • system.settings:该表包含所有配置信息,如配置名称、数据类型、缺省值等。

使用举例如下:

sql 复制代码
SELECT * FROM system.tables LIMIT 2; -- 查询表信息
-- 查询列信息
SELECT database, table, name, type, position
FROM system.columns
WHERE table_name = 'my_table';
-- 查询特定分片的位置和大小
SELECT partition_id, path, rows
FROM system.parts
WHERE table_name = 'my_table' AND partition_id = 1;

-- 查询配置信息
SELECT name, value, default, description
FROM system.settings
WHERE name = 'max_threads'

另外,ClickHouse也提供了兼容SQL标准的information_schema系统数据库,用于查看数据库对象的元数据。该数据库可以理解成虚拟库,它提供了查询元数据的视图,比如:

sql 复制代码
SHOW TABLES FROM INFORMATION_SCHEMA; -- 查看提供了哪些视图
SELECT * FROM INFORMATION_SCHEMA.TABLES; -- 查看表信息
-- 查看列信息
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE (table_schema = currentDatabase() OR table_schema = '')
  AND table_name NOT LIKE '%inner%' 
LIMIT 1 
FORMAT Vertical;

在内部实现方面,INFORMATION_SCHEMA中的视图通常映射到普通系统表,如system.columns、system.tables等。因此,建议使用时选择ClickHouse的原生system系统库,因为system更原生、更丰富、更底层。可以查看更多元数据信息。需要规范和标准化(比如适配更多数据库)时可选择INFORMATION_SCHEMA库。

相关推荐
陈年老古董3 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构
pjj198547 天前
ClickHouse 与 Doris 数据库技术梳理:看懂分析型数据库
数据库·clickhouse
SelectDB技术团队7 天前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层
SelectDB技术团队8 天前
ClickHouse SQL 好学吗?从 MySQL 迁移 Doris 的完整兼容验证
人工智能·sql·mysql·clickhouse·开源·apache doris·增量计算
螺蛳粉 螺蛳粉9 天前
CDH第四篇:CDH 元数据库实战:MySQL 5.7.22 二进制安装 + 三库三账号授权全记录
hive·mysql5.7·centos7·元数据·cdh·oozie·数据库部署
喵了几个咪9 天前
GoWind UBA 拆解:把 Doris UNIQUE KEY 翻译成 ClickHouse——读数正确性对齐实录
开发语言·后端·clickhouse·微服务·golang·gowind
爱吃火鸡面呀9 天前
MySQL、ClickHouse、Doris、Hive、Spark SQL、Flink SQL 选型对比:优点、缺点与面试话术
hive·mysql·clickhouse
SelectDB技术团队12 天前
SelectDB 架构演进与 ClickHouse 迁移指南
大数据·数据库·clickhouse·云原生·架构·数据分析·apache doris
ClickHouseDB13 天前
使用 ClickHouse 与 Massive 构建实时市场数据应用
clickhouse
秉寒-CHO13 天前
从 ClickHouse 到 StarRocks:我在真实业务中怎么选明细、聚合、主键模型
大数据·clickhouse