Impala - Truncate Table 语句

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

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

语法

以下是Truncate Table语句的语法。

truncate table_name;

示例

假设,我们在 Impala 中有一个名为 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

验证

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

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

Fetched 0 row(s) in 0.12s

使用 Hue 查询编辑器截断表格

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

截断表

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