테이블의 컬럼 정보를 반환합니다.
구문
DESC|DESCRIBE TABLE [db.]table [INTO OUTFILE filename] [FORMAT format]
DESCRIBE SQL 문은 테이블의 각 컬럼에 대해 다음 String 값을 갖는 행을 하나씩 반환합니다:
name — 컬럼 이름입니다.
type — 컬럼 타입입니다.
default_type — 컬럼 기본 표현식에 사용되는 절입니다: DEFAULT, MATERIALIZED 또는 ALIAS. 기본 표현식이 없으면 빈 문자열이 반환됩니다.
default_expression — DEFAULT 절 뒤에 지정된 표현식입니다.
comment — 컬럼 주석입니다.
codec_expression — 컬럼에 적용되는 코덱입니다.
ttl_expression — TTL 표현식입니다.
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;
이 사용 방식은 지정한 쿼리 또는 서브쿼리의 결과 컬럼에 대한 메타데이터를 반환합니다. 실행하기 전에 복잡한 쿼리의 구조를 파악하는 데 유용합니다.
관련 항목