columns 시스템 테이블

columns 시스템 테이블

columns 시스템 테이블은 모든 테이블의 열에 대한 정보를 담고 있어요. DESCRIBE TABLE 쿼리와 유사한 정보를 여러 테이블에 대해 한 번에 얻는 데 사용할 수 있어요.

출처: 문서

본문

Description (설명)

모든 테이블의 열에 대한 정보를 담고 있어요. DESCRIBE TABLE 쿼리와 유사한 정보를 여러 테이블에 대해 한 번에 얻는 데 사용할 수 있어요. 임시 테이블의 열은 생성된 세션에서만 system.columns에 보이며, 빈 database 필드로 표시돼요.

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) — marks의 크기(바이트).
  • 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, Decimal 타입에 10이에요. 그 외에는 NULL 값이 반환돼요.
  • numeric_scale (Nullable(UInt64)) — 근사 숫자 데이터, 정확한 숫자 데이터, 정수 데이터 또는 통화 데이터의 스케일. ClickHouse에서는 Decimal 타입에만 의미가 있어요. 그 외에는 NULL 값이 반환돼요.
  • datetime_precision (Nullable(UInt64)) — DateTime64 데이터 타입의 소수 정밀도. 다른 데이터 타입에 대해서는 NULL 값이 반환돼요.
  • serialization_hint (Nullable(String)) — 통계에 따라 삽입 시 직렬화를 선택하라는 열에 대한 힌트.
  • statistics (String) — 이 열에 생성된 통계의 유형.

Aliases (별칭):

  • columnname의 별칭.

Example (예제)

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:      ᴺᵁᴸᴸ

더 알아보기 (Learn more)