将指定表中的数据清空。

清空非分区表里的数据

将指定的非分区表中的数据清空。如果您需要清空分区表中单个或多个分区的数据,请参见清空分区数据

  • 命令格式
    truncate table <table_name>;
  • 参数说明

    table_name:必填。待清空数据的非分区表的名称。

清空分区数据

清空分区表中指定分区的数据。

MaxCompute支持通过条件筛选方式清空分区数据。如果您希望一次性删除符合某个规则条件的一个或多个分区,可以使用表达式指定筛选条件,通过筛选条件匹配分区并批量清空分区数据。

  • 命令格式
    • 未指定筛选条件
      truncate table <table_name> partition <pt_spec>[, partition <pt_spec>....];
    • 指定筛选条件
      truncate table <table_name> partition <partition_filtercondition>;
  • 参数说明
    • table_name:必填。待清空分区数据的分区表名称。
    • pt_spec:必填。待清空数据的分区。格式为(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...)partition_col是分区字段,partition_col_value是分区值。分区字段不区分大小写,分区值区分大小写。
    • partition_filtercondition:指定筛选条件时必填。分区筛选条件,不区分大小写。格式为:
      partition_filtercondition
          : partition (<partition_col> <relational_operators> <partition_col_value>)
          | partition (scalar(<partition_col>) <relational_operators> <partition_col_value>)
          | partition (<partition_filtercondition1> AND|OR <partition_filtercondition2>)
          | partition (NOT <partition_filtercondition>)
          | partition (<partition_filtercondition1>)[,partition (<partition_filtercondition2>), ...]
      • partition_col:分区名称。
      • relational_operators:关系运算符,详情请参见运算符
      • partition_col_value:分区列比较值或正则表达式,与分区列数据类型保持一致。
      • scalar():Scalar函数。Scalar函数基于输入值生成对应的标量,对分区列的值(partition_col)进行处理后再按照指定的关系运算符relational_operatorspartition_col_value做比较。
      • 分区过滤条件支持逻辑运算符NOT、AND和OR。支持通过NOT过滤条件子句,取过滤规则的补集。支持多个过滤条件子句以AND或OR的关系组成整体分区匹配规则。
      • 支持多个分区过滤子句,当多个分区过滤子句以英文逗号(,)分隔时,每个过滤子句的逻辑以OR的关系组成整体分区匹配规则。
  • 使用示例
    • 未指定筛选条件
      --从表sale_detail中清空一个分区,清空2013年12月杭州地域的销售记录。
      truncate table sale_detail partition(sale_date='201312',region='hangzhou'); 
      --从表sale_detail中同时清空两个分区,清空2013年12月杭州和上海地域的销售记录。
      truncate table sale_detail partition(sale_date='201312',region='hangzhou'),  partition(sale_date='201312',region='shanghai');
    • 指定筛选条件
      --从表sale_detail中清空多个分区,清空杭州地域下sale_date以2013开头的销售记录。
      truncate table sale_detail partition(sale_date like '2013%' and region='hangzhou');

相关命令

  • CREATE TABLE:创建非分区表、分区表、外部表或聚簇表。
  • ALTER TABLE:修改表操作。
  • DROP TABLE:删除分区表或非分区表。
  • DESC TABLE/VIEW:查看MaxCompute内部表、视图、物化视图、外部表、聚簇表或Transactional表的信息。
  • SHOW:查看表的SQL DDL语句、列出项目下所有的表和视图或列出一张表中的所有分区。