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
将会报错。当集群中有状态为运行中(RUNNING)的Build任务时,执行
TRUNCATE TABLE
将会报错,需要等Build任务完成后再重试。如何查看Build任务状态,请参见查看BUILD任务的状态。
示例
清空CUSTOMER表中的数据。
TRUNCATE TABLE adb_demo.customer;
清空表中的指定分区。
TRUNCATE TABLE adb_demo.customer PARTITION 20170103,20170104,20170108;