본문으로 건너뛰기
최종 수정: 에

TRUNCATE-TABLE

설명​

이 문은 지정된 테이블과 파티션의 데이터를 비우는 데 사용됩니다.

구문​

TRUNCATE TABLE [<db_name>.]<table_name>[ PARTITION ( <partition_name1> [, <partition_name2> ... ] ) ];

필수 매개변수​

1.<db_name>

데이터베이스의 식별자(이름)를 지정합니다.

식별자는 알파벳 문자로 시작해야 하며(unicode 이름 지원이 활성화된 경우 해당 언어의 문자로 시작할 수 있음), 식별자 문자열 전체를 백틱으로 감싸지 않는 한 공백이나 특수 문자를 포함할 수 없습니다(예: My Database).

식별자에는 예약 키워드를 사용할 수 없습니다.

자세한 내용은 식별자 요구 사항 및 예약 키워드를 참조하세요.

2.<table_name>

테이블의 식별자(이름)를 지정합니다. 이 식별자는 해당 테이블이 속한 데이터베이스 내에서 고유해야 합니다.

식별자는 알파벳 문자로 시작해야 하며(unicode 이름 지원이 활성화된 경우 해당 언어의 문자로 시작할 수 있음), 식별자 문자열 전체를 백틱으로 감싸지 않는 한 공백이나 특수 문자를 포함할 수 없습니다(예: My Object).

식별자에는 예약 키워드를 사용할 수 없습니다.

자세한 내용은 식별자 요구 사항 및 예약 키워드를 참조하세요.

선택적 매개변수​

1.<partition_name>

파티션의 식별자(이름)를 지정합니다.

식별자는 알파벳 문자로 시작해야 하며(unicode 이름 지원이 활성화된 경우 해당 문자 체계의 문자로 시작할 수 있음), 식별자 문자열 전체를 백틱으로 감싸지 않는 한 공백이나 특수 문자를 포함할 수 없습니다(예: My Object).

식별자에는 예약 키워드를 사용할 수 없습니다.

자세한 내용은 식별자 요구 사항 및 예약 키워드를 참조하세요.

접근 제어 요구 사항​

이 SQL 명령을 실행하는 사용자는 최소한 다음 권한을 보유해야 합니다.

권한객체참고 사항
Drop_priv테이블TRUNCATE TABLE은 테이블 DROP 작업에 해당합니다

사용 시 참고 사항​

  • 이 문은 데이터를 비우지만 테이블이나 파티션은 유지합니다.
  • DELETE와 달리, 이 문은 지정된 테이블이나 파티션의 데이터 전체를 비우는 작업만 지원하며 필터 조건을 추가할 수 없습니다.
  • DELETE와 달리, 이 방식으로 데이터를 비워도 쿼리 성능에 영향을 주지 않습니다.
  • 이 작업으로 삭제된 데이터는 복구할 수 없습니다.
  • 이 명령을 사용할 때는 테이블 상태가 NORMAL이어야 합니다. 즉, SCHEMA CHANGE 등의 작업이 진행 중이어서는 안 됩니다.
  • 이 명령으로 인해 진행 중인 데이터 적재가 실패할 수 있습니다.

예제​

  1. example_db의 테이블 tbl 데이터 비우기

    TRUNCATE TABLE example_db.tbl;
  2. 테이블 tbl의 p1 및 p2 파티션 데이터 비우기

    TRUNCATE TABLE tbl PARTITION(p1, p2);