본문으로 바로가기
본문으로 바로가기

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) — 해당 컬럼에 대해 생성된 통계 유형입니다.

예시

SELECT * FROM system.columns LIMIT 2 FORMAT Vertical;
Row 1:
──────
database:                INFORMATION_SCHEMA
table:                   COLUMNS
name:                    table_catalog
type:                    String
position:                1
default_kind:
default_expression:
data_compressed_bytes:   0
data_uncompressed_bytes: 0
marks_bytes:             0
comment:
is_in_partition_key:     0
is_in_sorting_key:       0
is_in_primary_key:       0
is_in_sampling_key:      0
compression_codec:
character_octet_length:  ᴺᵁᴸᴸ
numeric_precision:       ᴺᵁᴸᴸ
numeric_precision_radix: ᴺᵁᴸᴸ
numeric_scale:           ᴺᵁᴸᴸ
datetime_precision:      ᴺᵁᴸᴸ

Row 2:
──────
database:                INFORMATION_SCHEMA
table:                   COLUMNS
name:                    table_schema
type:                    String
position:                2
default_kind:
default_expression:
data_compressed_bytes:   0
data_uncompressed_bytes: 0
marks_bytes:             0
comment:
is_in_partition_key:     0
is_in_sorting_key:       0
is_in_primary_key:       0
is_in_sampling_key:      0
compression_codec:
character_octet_length:  ᴺᵁᴸᴸ
numeric_precision:       ᴺᵁᴸᴸ
numeric_precision_radix: ᴺᵁᴸᴸ
numeric_scale:           ᴺᵁᴸᴸ
datetime_precision:      ᴺᵁᴸᴸ