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命令清空表中的資料,表結構不會被刪除。Database Backup期間無法執行,執行
TRUNCATE TABLE將會報錯。當叢集中有狀態為運行中(RUNNING)的Build任務時,執行
TRUNCATE TABLE將會報錯,需要等Build任務完成後再重試。如何查看Build任務狀態,請參見查看BUILD任務的狀態。
樣本
清空CUSTOMER表中的資料。
TRUNCATE TABLE adb_demo.customer;清空表中的指定分區。
TRUNCATE TABLE adb_demo.customer PARTITION 20170103,20170104,20170108;