-

Impala的Truncate Table语句用于从现有表中删除所有记录。

您也可以使用DROP TABLE命令删除一个完整的表,但它会从数据库中删除完整的表结构,如果您希望存储一些数据,您将需要重新创建此表。

语法

以下是truncate table语句的语法。

truncate table_name;

假设,我们在Impala中有一个名为customers的表,如果您验证其内容,则会得到以下结果。 这意味着customers表包含6条记录。

[quickstart.cloudera:21000] > select * from customers; 

Query: select * from customers 
+----+----------+-----+-----------+--------+--------+ 
| id | name     | age | address   | salary | e_mail | 
+----+----------+-----+-----------+--------+--------+
| 1  | Ramesh   | 32  | Ahmedabad | 20000  | NULL   | 
| 2  | Khilan   | 25  | Delhi     | 15000  | NULL   | 
| 3  | kaushik  | 23  | Kota      | 30000  | NULL   |
| 4  | Chaitali | 25  | Mumbai    | 35000  | NULL   | 
| 5  | Hardik   | 27  | Bhopal    | 40000  | NULL   | 
| 6  | Komal    | 22  | MP        | 32000  | NULL   | 
+----+----------+-----+-----------+--------+--------+

以下是使用truncate语句在Impala中截断表的示例。 这里我们删除名为customers的表的所有记录。

[quickstart.cloudera:21000] > truncate customers;

在执行上述语句时,Impala删除指定表的所有记录,并显示以下消息。

Query: truncate customers 

Fetched 0 row(s) in 0.37s

验证

如果您验证customers表的内容,在删除操作后,使用select语句,您将获得一个空行,如下所示。

[quickstart.cloudera:21000] > select * from customers;
Query: select * from customers 

Fetched 0 row(s) in 0.12s

使用Hue浏览器截断表

打开Impala查询编辑器并在其中键入truncate语句。 然后单击执行按钮,如下面的屏幕截图所示。

截断表

执行查询/语句后,将删除表中的所有记录。