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 타입의 경우 소수 자릿수(precision)입니다. 그렇지 않으면 NULL 값이 반환됩니다.numeric_precision_radix(Nullable(UInt64)) — 근사 수치 데이터, 정확 수치 데이터, 정수 데이터 또는 금전 데이터의 정밀도에 대한 기수(base)입니다. ClickHouse에서는 정수 타입의 경우 2이고, Decimal 타입의 경우 10입니다. 그렇지 않으면 NULL 값이 반환됩니다.numeric_scale(Nullable(UInt64)) — 근사 수치 데이터, 정확 수치 데이터, 정수 데이터 또는 금전 데이터의 스케일입니다. ClickHouse에서는 Decimal 타입에만 의미가 있습니다. 그렇지 않으면 NULL 값이 반환됩니다.datetime_precision(Nullable(UInt64)) — DateTime64 데이터 타입의 소수 자릿수(precision)입니다. 다른 데이터 타입의 경우 NULL 값이 반환됩니다.serialization_hint(Nullable(String)) — 통계에 따라 INSERT 시 사용할 직렬화를 선택하기 위한 컬럼 힌트입니다.statistics(String) — 해당 컬럼에 대해 생성된 통계 유형입니다.
예시