DESCRIBE TABLE¶
테이블의 열이나 테이블의 스테이지 속성 세트(현재 값과 기본값)를 설명합니다.
DESCRIBE는 DESC로 축약할 수 있습니다.
- 참고 항목:
구문¶
{ DESCRIBE | DESC } TABLE <name> [ TYPE = { COLUMNS | STAGE } ]
매개 변수¶
name설명할 테이블의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
TYPE = COLUMNS | STAGE테이블의 열이나 테이블의 스테이지 속성 세트(현재 값과 기본값)를 표시할지 여부를 지정합니다.
기본값:
TYPE = COLUMNS
사용법 노트¶
이 명령은 테이블의 오브젝트 매개 변수를 표시하지 않습니다. SHOW PARAMETERS IN TABLE 를 대신 사용하십시오.
DESCRIBE TABLE과 DESCRIBE VIEW 는 서로 교환할 수 있습니다. 두 명령 모두 지정된 테이블이나 뷰에 대한 세부 정보를 반환하지만, 뷰에는 스테이지 속성이 없으므로
TYPE = STAGE는 뷰에 적용되지 않습니다.테이블에서 스키마 진화가 활성화된 경우 출력에
SchemaEvolutionRecord열이 포함됩니다. 이 열은 2023_08 번들(일반적으로 활성화됨) 과 함께 도입되었습니다. 자세한 내용은 테이블 스키마 진화 섹션을 참조하십시오.출력에는 열에 직접 설정된 마스킹 정책</user-guide/security-column-intro>`을 나타내는 ``policy name` 열이 포함됩니다. 열이 :doc:`태그 기반 마스킹 정책</user-guide/tag-based-masking-policies>`으로 보호되는 경우 Snowflake는 :code:`NULL`을 반환합니다.
열에 마스킹 정책이 설정되어 있지 않거나 Snowflake 계정이 Enterprise Edition 이상이 아닌 경우 Snowflake는 :code:`NULL`을 반환합니다.
출력에는 열에 설정된 개인정보 보호 도메인 을 나타내는
privacy domain열이 포함됩니다.열에 개인정보 보호 도메인이 설정되어 있지 않거나 Snowflake 계정이 Enterprise Edition 이상이 아닌 경우 Snowflake는
NULL을 반환합니다.
이 명령의 출력을 후처리하기 위해 파이프 연산자 (
->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
출력¶
TYPE = COLUMNS 인 경우 명령 출력은 다음과 같은 속성과 메타데이터를 제공합니다.
열 |
설명 |
|---|---|
|
테이블의 열 이름입니다. |
|
테이블의 열 데이터 타입입니다. 열에 대해 데이터 정렬 이 지정된 경우 데이터 정렬 사양이 포함됩니다. |
|
Snowflake 테이블의 경우 이 값은 항상 |
|
열이 NULL 값( |
|
열의 기본값(있는 경우)이며, 그렇지 않은 경우 |
|
열이 기본 키(또는 다중 열 기본 키의 일부로, |
|
열에 UNIQUE 제약 조건( |
|
향후 사용을 위해 예약되어 있습니다. |
|
향후 사용을 위해 예약되어 있습니다. |
|
열에 대해 설정된 설명(있는 경우)이며, 그렇지 않은 경우 |
|
열에 대해 설정된 마스킹 정책 (있는 경우)이며, 그렇지 않은 경우 |
|
열에 대해 설정된 개인정보 보호 도메인 (있는 경우)이며, 그렇지 않은 경우 |
|
주어진 테이블 열에 대해 최근에 트리거된 Schema Evolution에 대한 정보를 기록합니다. 이 열에는 다음 하위 필드가 포함됩니다.
|
TYPE = STAGE 인 경우 명령 출력은 테이블의 스테이지 속성에 대한 현재 값과 기본값을 제공합니다. 예: 스테이지 속성 설명하기 섹션을 참조하십시오.
예¶
다음 예에서는 테이블을 설명하는 방법을 보여줍니다.
예: 제약 조건과 기타 열 특성이 있는 테이블 설명하기¶
제약 조건이 있는 2개의 열을 포함하여 5개의 열이 있는 테이블을 만듭니다. 한 열에 DEFAULT 값과 설명을 지정합니다.
CREATE OR REPLACE TABLE desc_example(
c1 INT PRIMARY KEY,
c2 INT,
c3 INT UNIQUE,
c4 VARCHAR(30) DEFAULT 'Not applicable' COMMENT 'This column is rarely populated',
c5 VARCHAR(100));
테이블의 열 설명하기:
DESCRIBE TABLE desc_example;
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
| name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain | schema evolution record |
|------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------|
| C1 | NUMBER(38,0) | COLUMN | N | NULL | Y | N | NULL | NULL | NULL | NULL | NULL | NULL |
| C2 | NUMBER(38,0) | COLUMN | Y | NULL | N | N | NULL | NULL | NULL | NULL | NULL | NULL |
| C3 | NUMBER(38,0) | COLUMN | Y | NULL | N | Y | NULL | NULL | NULL | NULL | NULL | NULL |
| C4 | VARCHAR(30) | COLUMN | Y | 'Not applicable' | N | N | NULL | NULL | This column is rarely populated | NULL | NULL | NULL |
| C5 | VARCHAR(100) | COLUMN | Y | NULL | N | N | NULL | NULL | NULL | NULL | NULL | NULL |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+-------------+----------------+-------------------------+
예: 열에 마스킹 정책이 있는 테이블 설명하기¶
일반 마스킹 정책 을 만든 다음, 한 열에 마스킹 정책이 설정된 desc_example 테이블을 다시 만듭니다. (이 예제를 실행하려면 먼저 email_mask 마스킹 정책을 만듭니다.)
CREATE OR REPLACE TABLE desc_example(
c1 INT PRIMARY KEY,
c2 INT,
c3 INT UNIQUE,
c4 VARCHAR(30) DEFAULT 'Not applicable' COMMENT 'This column is rarely populated',
c5 VARCHAR(100) WITH MASKING POLICY email_mask);
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
| name | type | kind | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain | schema evolution record |
|------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------|-------------------------|
| C1 | NUMBER(38,0) | COLUMN | N | NULL | Y | N | NULL | NULL | NULL | NULL | NULL | NULL |
| C2 | NUMBER(38,0) | COLUMN | Y | NULL | N | N | NULL | NULL | NULL | NULL | NULL | NULL |
| C3 | NUMBER(38,0) | COLUMN | Y | NULL | N | Y | NULL | NULL | NULL | NULL | NULL | NULL |
| C4 | VARCHAR(30) | COLUMN | Y | 'Not applicable' | N | N | NULL | NULL | This column is rarely populated | NULL | NULL | NULL |
| C5 | VARCHAR(100) | COLUMN | Y | NULL | N | N | NULL | NULL | NULL | HT_SENSORS.HT_SCHEMA.EMAIL_MASK | NULL | NULL |
+------+--------------+--------+-------+------------------+-------------+------------+-------+------------+---------------------------------+---------------------------------+----------------+-------------------------+
예: 스테이지 속성 설명하기¶
같은 테이블에 대한 현재 스테이지 속성을 설명합니다(여기서는 처음 5개 행만 표시됨).
DESCRIBE TABLE desc_example TYPE = STAGE;
+--------------------+--------------------------------+---------------+-----------------+------------------+
| parent_property | property | property_type | property_value | property_default |
|--------------------+--------------------------------+---------------+-----------------+------------------|
| STAGE_FILE_FORMAT | TYPE | String | CSV | CSV |
| STAGE_FILE_FORMAT | RECORD_DELIMITER | String | \n | \n |
| STAGE_FILE_FORMAT | FIELD_DELIMITER | String | , | , |
| STAGE_FILE_FORMAT | FILE_EXTENSION | String | | |
| STAGE_FILE_FORMAT | SKIP_HEADER | Integer | 0 | 0 |
...