TRUNCATE TABLE
文を実行して、テーブルまたはテーブル内の指定されたパーティションのデータを消去できます。
構文
- テーブルのデータを消去します。
TRUNCATE TABLE db_name.table_name;
- テーブル内の指定されたパーティションのデータを消去します。
TRUNCATE TABLE db_name.table_name PARTITION partition_name[,...];
パーティション名のデータ型はBIGINTです。 次のSQL文を実行して、テーブル内のすべてのパーティションの名前を照会できます。
SELECT partition_name from information_schema.partitions WHERE table_name = 'your_table_name 'ORDER BY partition_name DESC LIMIT 100;
注意事項
TRUNCATE TABLE
文を実行してテーブルのデータをクリアしても、テーブルスキーマは削除されません。- データベースのバックアップが進行中の場合、
TRUNCATE TABLE
ステートメントは実行できません。 このステートメントを実行すると、エラーが返されます。 - クラスターのBUILDタスクが実行状態のときに
TRUNCATE TABLE
ステートメントを実行すると、エラーが返されます。 BUILDタスクが完了するのを待って、ステートメントを再度実行する必要があります。 ビルドタスクの状態を照会する方法の詳細については、「ビルドジョブのステータスの照会」をご参照ください。
例
- 顧客テーブルのデータをクリアします。
TRUNCATE TABLE adb_demo.customer;
- 顧客テーブルの指定されたパーティションのデータを消去します。
TRUNCATE TABLE adb_demo.customer PARTITION 20170103,20170104、20170108;