将指定表中的数据清空。
清空非分区表里的数据
将指定的非分区表中的数据清空。如果您需要清空分区表中单个或多个分区的数据,请参见清空分区数据。
- 命令格式
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_operators与partition_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语句、列出项目下所有的表和视图或列出一张表中的所有分区。