system.columns
Содержит информацию о столбцах во всех таблицах.
Вы можете использовать эту таблицу для получения информации, аналогичной запросу DESCRIBE TABLE, но для нескольких таблиц сразу.
Столбцы из временных таблиц видны в system.columns только в тех сессиях, где они были созданы. Они отображаются с пустым полем database.
Таблица system.columns содержит следующие столбцы (тип столбца показан в скобках):
database(String) — Имя базы данных.table(String) — Имя таблицы.name(String) — Имя столбца.type(String) — Тип столбца.position(UInt64) — Порядковый номер столбца в таблице, начиная с 1.default_kind(String) — Тип выражения (DEFAULT,MATERIALIZED,ALIAS) для значения по умолчанию или пустая строка, если он не определен.default_expression(String) — Выражение для значения по умолчанию или пустая строка, если оно не определено.data_compressed_bytes(UInt64) — Размер сжатых данных в байтах.data_uncompressed_bytes(UInt64) — Размер распакованных данных в байтах.marks_bytes(UInt64) — Размер меток в байтах.comment(String) — Комментарий к столбцу или пустая строка, если он не определен.is_in_partition_key(UInt8) — Флаг, указывающий, находится ли столбец в выражении раздела.is_in_sorting_key(UInt8) — Флаг, указывающий, находится ли столбец в выражении ключа сортировки.is_in_primary_key(UInt8) — Флаг, указывающий, находится ли столбец в выражении первичного ключа.is_in_sampling_key(UInt8) — Флаг, указывающий, находится ли столбец в выражении ключа выборки.compression_codec(String) — Имя кодека сжатия.character_octet_length(Nullable(UInt64)) — Максимальная длина в байтах для двоичных данных, символьных данных, текстовых данных и изображений. В ClickHouse имеет смысл только для типа данныхFixedString. В противном случае возвращается значениеNULL.numeric_precision(Nullable(UInt64)) — Точность приближенных числовых данных, точных числовых данных, целых данных или денежных данных. В ClickHouse это ширина бита для целых типов и десятичная точность для типовDecimal. В противном случае возвращается значениеNULL.numeric_precision_radix(Nullable(UInt64)) — Основание численной системы — это точность приближенных числовых данных, точных числовых данных, целых данных или денежных данных. В ClickHouse это 2 для целых типов и 10 для типовDecimal. В противном случае возвращается значениеNULL.numeric_scale(Nullable(UInt64)) — Масштаб приближенных числовых данных, точных числовых данных, целых данных или денежных данных. В ClickHouse имеет смысл только для типовDecimal. В противном случае возвращается значениеNULL.datetime_precision(Nullable(UInt64)) — Десятичная точность типа данныхDateTime64. Для других типов данных возвращается значениеNULL.
Пример