테이블 자르기

적용 대상:검사 표시됨 예 Databricks SQL 검사 예 Databricks Runtime으로 표시됨

테이블 또는 파티션에서 모든 행을 제거합니다. 테이블은 뷰 또는 외부 또는 임시 테이블이 아니어야 합니다. 한 번에 여러 파티션을 자르려면 에서 partition_spec파티션을 지정합니다. 이 지정되지 partition_spec 않은 경우 는 테이블의 모든 파티션을 제거합니다.

참고

Delta Lake는 에 대한 TRUNCATE파티션 절을 지원하지 않습니다.

테이블이 캐시되면 명령은 테이블의 캐시된 데이터와 테이블을 참조하는 모든 종속 데이터를 지웁니다. 다음에 테이블 또는 종속 항목에 액세스할 때 캐시가 지연 채워집니다.

구문

TRUNCATE TABLE table_name [ PARTITION clause ]

매개 변수

  • Table_name

    잘리는 테이블의 이름입니다. 이름에 임시 사양이 포함되어서는 안됩니다. 테이블을 찾을 수 없는 경우 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.

  • PARTITION 절

    파티션의 선택적 사양입니다. Delta Lake에 대해 지원되지 않습니다.

-- Create table Student with partition
> CREATE TABLE Student (name STRING, rollno INT) PARTITIONED BY (age INT);

> SELECT * FROM Student;
 name rollno age
 ---- ------ ---
  ABC      1  10
  DEF      2  10
  XYZ      3  12

-- Remove all rows from the table in the specified partition
> TRUNCATE TABLE Student partition(age=10);

-- After truncate execution, records belonging to partition age=10 are removed
> SELECT * FROM Student;
 name rollno age
 ---- ------ ---
  XYZ      3  12

-- Remove all rows from the table from all partitions
> TRUNCATE TABLE Student;

> SELECT * FROM Student;
 name rollno age
 ---- ------ ---