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命令清空表中的数据,表结构不会被删除。

示例

  • 清空CUSTOMER表中的数据。
    TRUNCATE TABLE adb_demo.customer;                   
  • 清空表中的指定分区。
    TRUNCATE TABLE adb_demo.customer partition 20170103,20170104,20170108;