📅  最后修改于: 2020-11-30 05:03:05             🧑  作者: Mango
Impala的Truncate Table语句用于从现有表中删除所有记录。
您也可以使用DROP 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
打开Impala查询编辑器,然后在其中输入截断语句。然后单击执行按钮,如以下屏幕截图所示。
执行查询/语句后,将删除表中的所有记录。