ВопросКак посмотреть структуру таблицы в ClickHouse: список колонок, типы данных, значения по умолчанию и комментарии? Какие команды показывают движок и ключи таблицы?
Чтобы посмотреть структуру таблицы в ClickHouse, используйте DESCRIBE TABLE, SHOW CREATE TABLE или системные таблицы system.columns и system.tables. Выбор команды зависит от того, нужен ли краткий список полей или полное описание таблицы.
Содержание
Быстрый просмотр колонок
Команда DESCRIBE TABLE показывает основные свойства столбцов:
DESCRIBE TABLE database_name.table_name;
Также можно использовать сокращённую форму:
DESC database_name.table_name;
В результате обычно доступны следующие сведения:
name— название колонки;type— тип данных, напримерUInt64,String,DateTime;default_type— тип выражения по умолчанию;default_expression— значение или выражение по умолчанию;comment— комментарий к колонке.
Если база данных указана в текущем контексте, её можно не писать:
DESCRIBE TABLE table_name;
Полное определение таблицы
Для просмотра SQL-команды создания таблицы используйте:
SHOW CREATE TABLE database_name.table_name;
Эта команда помогает узнать не только колонки и их комментарии, но и параметры таблицы:
- используемый движок (
MergeTree,ReplacingMergeTreeи другие); ORDER BYиPRIMARY KEY;PARTITION BY;- TTL и настройки хранения;
- кодеки сжатия;
- параметры таблицы и выражения по умолчанию.
SHOW CREATE TABLE особенно удобна, если структуру нужно скопировать или восстановить в другой базе данных.
Получение метаданных через system.columns
Для автоматической обработки структуры используйте системную таблицу system.columns:
SELECT
name,
type,
default_type,
default_expression,
comment,
compression_codec,
is_in_primary_key
FROM system.columns
WHERE database = 'database_name'
AND table = 'table_name'
ORDER BY position;
Такой запрос позволяет фильтровать и анализировать колонки программно. Например, найти все строковые поля:
SELECT name, type, comment
FROM system.columns
WHERE database = 'database_name'
AND table = 'table_name'
AND type = 'String';
Набор доступных полей может немного отличаться в зависимости от версии ClickHouse и настроек сервера. Если отдельного столбца нет, его можно убрать из запроса.
Информация о таблице и её размере
Сведения о самой таблице, а не только о колонках, находятся в system.tables:
SELECT
name,
engine,
total_rows,
total_bytes,
comment,
create_table_query
FROM system.tables
WHERE database = 'database_name'
AND name = 'table_name';
Здесь можно увидеть движок, комментарий таблицы, примерное число строк, объём данных и SQL-запрос создания. Значения total_rows и total_bytes могут обновляться не мгновенно и зависят от версии ClickHouse.
Что выбрать
- Для быстрого просмотра колонок —
DESCRIBE TABLE. - Для полного определения и ключей таблицы —
SHOW CREATE TABLE. - Для скриптов, фильтрации и анализа метаданных —
system.columns. - Для сведений о движке, размере и комментарии таблицы —
system.tables.
Для большинства повседневных задач достаточно выполнить DESCRIBE TABLE, а затем при необходимости проверить полное определение через SHOW CREATE TABLE.
Ответ подготовлен нейросетью Coperix и проверен редактором. Перед важными решениями сверяйтесь с официальными источниками и специалистами.
Частые вопросы
Как посмотреть только названия и типы колонок в ClickHouse?
Выполните `DESCRIBE TABLE database_name.table_name` или запросите поля `name` и `type` из `system.columns`.
Какая команда показывает ORDER BY и движок таблицы?
Используйте `SHOW CREATE TABLE database_name.table_name`. Она выводит полное определение таблицы.
Где посмотреть комментарий к колонке?
Комментарий доступен в результате `DESCRIBE TABLE` и в поле `comment` системной таблицы `system.columns`.
Не нашли ответ на свой вопрос?
Спросите Coperix — бесплатно и без регистрации. Можно приложить фото, документ или таблицу.
Примеры — нажмите, чтобы подставить в поле: