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

DESCRIBE TABLE

테이블의 컬럼 정보를 반환합니다.

구문

DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]

DESCRIBE SQL 문은 테이블의 각 컬럼에 대해 다음 String 값을 갖는 행을 하나씩 반환합니다:

  • name — 컬럼 이름입니다.
  • type — 컬럼 타입입니다.
  • default_type — 컬럼 기본 표현식에 사용되는 절입니다: DEFAULT, MATERIALIZED 또는 ALIAS. 기본 표현식이 없으면 빈 문자열이 반환됩니다.
  • default_expressionDEFAULT 절 뒤에 지정된 표현식입니다.
  • comment컬럼 주석입니다.
  • codec_expression — 컬럼에 적용되는 코덱입니다.
  • ttl_expressionTTL 표현식입니다.
  • is_subcolumn — 내부 서브컬럼의 경우 1이 되는 플래그입니다. describe_include_subcolumns 설정으로 서브컬럼 설명을 활성화한 경우에만 결과에 포함됩니다.

Nested 데이터 구조의 모든 컬럼은 각각 별도로 설명됩니다. 각 컬럼 이름 앞에는 상위 컬럼 이름과 점이 붙습니다.

다른 데이터 타입의 내부 서브컬럼을 표시하려면 describe_include_subcolumns 설정을 사용하십시오.

예시

CREATE TABLE describe_example (
    id UInt64, text String DEFAULT 'unknown' CODEC(ZSTD),
    user Tuple (name String, age UInt8)
) ENGINE = MergeTree() ORDER BY id;

DESCRIBE TABLE describe_example;
DESCRIBE TABLE describe_example SETTINGS describe_include_subcolumns=1;
┌─name─┬─type──────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ id   │ UInt64                        │              │                    │         │                  │                │
│ text │ String                        │ DEFAULT      │ 'unknown'          │         │ ZSTD(1)          │                │
│ user │ Tuple(name String, age UInt8) │              │                    │         │                  │                │
└──────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

두 번째 쿼리에서는 서브컬럼도 추가로 표시됩니다:

┌─name──────┬─type──────────────────────────┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┬─is_subcolumn─┐
│ id        │ UInt64                        │              │                    │         │                  │                │            0 │
│ text      │ String                        │ DEFAULT      │ 'unknown'          │         │ ZSTD(1)          │                │            0 │
│ user      │ Tuple(name String, age UInt8) │              │                    │         │                  │                │            0 │
│ user.name │ String                        │              │                    │         │                  │                │            1 │
│ user.age  │ UInt8                         │              │                    │         │                  │                │            1 │
└───────────┴───────────────────────────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┴──────────────┘

DESCRIBE 문은 서브쿼리나 스칼라 표현식에도 사용할 수 있습니다:

DESCRIBE SELECT 1 FORMAT TSV;

또는

DESCRIBE (SELECT 1) FORMAT TSV;
1       UInt8

이 사용 방식은 지정한 쿼리 또는 서브쿼리의 결과 컬럼에 대한 메타데이터를 반환합니다. 실행하기 전에 복잡한 쿼리의 구조를 파악하는 데 유용합니다.

관련 항목