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
打开Impala查询编辑器并在其中键入truncate语句。 然后单击执行按钮,如下面的屏幕截图所示。
执行查询/语句后,将删除表中的所有记录。