TRUNCATE TABLE

適用対象:「はい」のチェック マーク 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
 ---- ------ ---