メインコンテンツへスキップ
TRUNCATE を使用すると、テーブルやデータベース自体は残したまま、その中のデータを削除できます。これは元に戻せない軽量な操作です。 ClickHouse の TRUNCATE ステートメントは、テーブルまたはデータベースの構造を保持したまま、すべてのデータをすばやく削除するために使用されます。

TRUNCATE TABLE

TRUNCATE TABLE [IF EXISTS] [db.]name [ON CLUSTER cluster] [SYNC]

ParameterDescription
IF EXISTSテーブルが存在しない場合にエラーを発生させません。省略すると、クエリはエラーを返します。
db.name省略可能なデータベース名。
ON CLUSTER cluster指定したクラスター全体でコマンドを実行します。
SYNCレプリケートテーブルを使用している場合、切り捨てをレプリカ間で同期的に実行します。省略した場合、デフォルトでは非同期に切り捨てられます。
レプリカでアクションが実行されるのを待機するように設定するには、alter_sync 設定を使用できます。 非アクティブなレプリカが TRUNCATE クエリを実行するまでの待機時間 (秒) は、replication_wait_for_inactive_replica_timeout 設定で指定できます。
alter_sync2 に設定されていて、一部のレプリカが replication_wait_for_inactive_replica_timeout 設定で指定された時間を超えて非アクティブな場合は、例外 UNFINISHED がスローされます。
TRUNCATE TABLE クエリは、次のテーブルエンジンではサポートされていません

すべてのテーブルをTRUNCATE

TRUNCATE [ALL] TABLES FROM [IF EXISTS] db [LIKE | ILIKE | NOT LIKE '<pattern>'] [ON CLUSTER cluster]

Parameter説明
ALLデータベース内のすべてのテーブルからデータを削除します。
IF EXISTSデータベースが存在しない場合にエラーを防ぎます。
dbデータベース名。
LIKE | ILIKE | NOT LIKE '<pattern>'パターンでテーブルを絞り込みます。
ON CLUSTER clusterクラスター全体でコマンドを実行します。
データベース内のすべてのテーブルから、すべてのデータを削除します。

TRUNCATE DATABASE

TRUNCATE DATABASE [IF EXISTS] db [ON CLUSTER cluster]

ParameterDescription
IF EXISTSデータベースが存在しない場合のエラーを防ぎます。
dbデータベース名。
ON CLUSTER cluster指定したクラスター全体でコマンドを実行します。
データベース自体は残したまま、そのデータベース内のすべてのテーブルを削除します。IF EXISTS 句を省略すると、データベースが存在しない場合はクエリがエラーを返します。
TRUNCATE DATABASEReplicated データベースではサポートされていません。代わりに、データベースを DROP してから CREATE してください。
最終更新日 2026年6月10日