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语句。 然后单击执行按钮,如下面的屏幕截图所示。
执行查询/语句后,将删除表中的所有记录。