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 语句。 然后单击执行按钮,如下图所示。
![截断表](/impala/images/truncating_table.jpg)
执行查询/语句后,表中的所有记录都将被删除。