메인 콘텐츠로 건너뛰기
ClickHouse에서 TRUNCATE SQL 문은 테이블이나 데이터베이스의 구조는 유지한 채 모든 데이터를 빠르게 제거할 때 사용됩니다.

TRUNCATE TABLE


매개변수설명
IF EXISTS테이블이 존재하지 않아도 오류가 발생하지 않도록 합니다. 생략하면 쿼리가 오류를 반환합니다.
db.name선택 사항인 데이터베이스 이름입니다.
ON CLUSTER cluster지정된 클러스터 전체에서 명령을 실행합니다.
SYNC복제된 테이블(Replicated Table)을 사용할 때 모든 레플리카에서 TRUNCATE 작업이 동기적으로 수행되도록 합니다. 생략하면 기본적으로 비동기적으로 수행됩니다.
alter_sync 설정을 사용하면 레플리카에서 작업이 실행될 때까지 대기하도록 설정할 수 있습니다. replication_wait_for_inactive_replica_timeout 설정을 사용하면 비활성 레플리카가 TRUNCATE 쿼리를 실행할 때까지 대기할 시간을 초 단위로 지정할 수 있습니다.
alter_sync2로 설정되어 있고 일부 레플리카가 replication_wait_for_inactive_replica_timeout 설정에 지정된 시간보다 오래 비활성 상태로 남아 있으면 UNFINISHED 예외가 발생합니다.
다음 테이블 엔진에서는 TRUNCATE TABLE 쿼리가 지원되지 않습니다:

모든 테이블을 TRUNCATE


매개변수설명
ALL데이터베이스의 모든 테이블에서 데이터를 제거합니다.
IF EXISTS데이터베이스가 존재하지 않아도 오류가 발생하지 않도록 합니다.
db데이터베이스 이름입니다.
LIKE | ILIKE | NOT LIKE '<pattern>'패턴으로 테이블을 필터링합니다.
ON CLUSTER cluster클러스터 전체에서 명령을 실행합니다.
데이터베이스에 있는 모든 테이블의 모든 데이터를 제거합니다.

TRUNCATE DATABASE


매개변수설명
IF EXISTS데이터베이스가 없어도 오류가 발생하지 않도록 합니다.
db데이터베이스 이름입니다.
ON CLUSTER cluster지정된 클러스터 전체에서 명령을 실행합니다.
데이터베이스 자체는 유지한 채 해당 데이터베이스의 모든 테이블을 제거합니다. IF EXISTS 절을 생략하면 데이터베이스가 존재하지 않을 경우 쿼리가 오류를 반환합니다.
TRUNCATE DATABASEReplicated 데이터베이스에서 지원되지 않습니다. 대신 데이터베이스를 DROP한 다음 CREATE하십시오.
마지막 수정일 2026년 7월 2일