TRUNCATE TABLETRUNCATE TABLE
テーブルまたはパーティションからすべての行を削除します。Removes all the rows from a table or partition(s). テーブルをビュー、外部テーブル、または一時テーブルにすることはできません。The table must not be a view or an external or temporary table. 複数のパーティションを一度に切り捨てるには、でパーティションを指定し partition_spec
ます。In order to truncate multiple partitions at once, specify the partitions in partition_spec
. partition_spec
が指定されていない場合、はテーブル内のすべてのパーティションを削除します。If no partition_spec
is specified, removes all partitions in the table.
構文Syntax
TRUNCATE TABLE table_identifier [ partition_spec ]
パラメーターParameters
table_identifiertable_identifier
[database_name.] table_name
: テーブル名。必要に応じて、データベース名で修飾します。[database_name.] table_name
: A table name, optionally qualified with a database name.delta.`<path-to-table>`
: 既存のデルタテーブルの場所。delta.`<path-to-table>`
: The location of an existing Delta table.
partition_specpartition_spec
パーティションのキーと値のペアのコンマ区切りの一覧 (省略可能)。Optional comma-separated list of key-value pairs for partitions.
構文:
PARTITION ( partition_col_name = partition_col_val [ , ... ] )
Syntax:PARTITION ( partition_col_name = partition_col_val [ , ... ] )
例Examples
-- 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|
+----+------+---+
+----+------+---+