TRUNCATE TABLE
適用対象: Databricks SQL Databricks Runtime
テーブルまたはパーティションからすべての行を削除します。 テーブルをビュー、外部テーブル、または一時テーブルにすることはできません。 複数のパーティションを一度に切り捨てるには、partition_spec
でパーティションを指定します。 partition_spec
が指定されていない場合、テーブル内のすべてのパーティションを削除します。
注意
Delta Lake では、TRUNCATE
のパーティション句はサポートされていません。
テーブルがキャッシュされている場合、このコマンドは、テーブルのキャッシュされたデータとそのテーブルを参照するすべての依存をクリアします。 テーブルまたは依存が次回アクセスされるときに、キャッシュは遅れてフィルされます。
構文
TRUNCATE TABLE table_name [ PARTITION clause ]
パラメーター
-
切り詰めるテーブルの名前。 名前には、 時仕様またはオプション指定を含めてはなりません。 テーブルが見つからない場合、Azure Databricks で TABLE_OR_VIEW_NOT_FOUND エラーが発生します。
-
パーティションの指定 (省略可)。 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
---- ------ ---