
- 表特定語句
- Impala - 建立表語句
- Impala - 插入語句
- Impala - 選擇語句
- Impala - 描述語句
- Impala - 修改表
- Impala - 刪除表
- Impala - 截斷表
- Impala - 顯示錶
- Impala - 建立檢視
- Impala - 修改檢視
- Impala - 刪除檢視
- Impala - 子句
- Impala - ORDER BY 子句
- Impala - GROUP BY 子句
- Impala - HAVING 子句
- Impala - LIMIT 子句
- Impala - OFFSET 子句
- Impala - UNION 子句
- Impala - WITH 子句
- Impala - DISTINCT 運算子
- Impala 有用資源
- Impala - 快速指南
- Impala - 有用資源
- Impala - 討論
Impala - 刪除表
Impala 的 `drop table` 語句用於刪除 Impala 中已存在的表。此語句還會刪除內部表的底層 HDFS 檔案。
注意 - 使用此命令時必須小心,因為一旦刪除表,表中的所有資訊都將永久丟失。
語法
`DROP TABLE` 語句的語法如下所示。這裡,`IF EXISTS` 是一個可選子句。如果使用此子句,只有在存在具有給定名稱的表時才會刪除該表。否則,將不執行任何操作。
DROP table database_name.table_name;
如果嘗試刪除不存在的表且沒有使用 `IF EXISTS` 子句,則會生成錯誤。可以選擇性地與 `table_name` 一起指定 `database_name`。
示例
讓我們首先驗證資料庫 `my_db` 中的表列表,如下所示。
[quickstart.cloudera:21000] > show tables; Query: show tables +------------+ | name | +------------+ | customers | | employee | | student | +------------+ Fetched 3 row(s) in 0.11s
從以上結果可以看出,資料庫 `my_db` 包含 3 個表。
以下是 `drop table` 語句的示例。在此示例中,我們正在從資料庫 `my_db` 中刪除名為 `student` 的表。
[quickstart.cloudera:21000] > drop table if exists my_db.student;
執行上述查詢後,將刪除指定名稱的表,並顯示以下輸出。
Query: drop table if exists student
驗證
`show tables` 查詢列出 Impala 中當前資料庫中的表列表。因此,可以使用 `show tables` 語句驗證表是否已刪除。
首先,需要切換到存在所需表的資料庫的上下文,如下所示。
[quickstart.cloudera:21000] > use my_db; Query: use my_db
然後,如果使用 `show tables` 查詢獲取表列表,則可以看到名為 `student` 的表不在列表中。
[quickstart.cloudera:21000] > show tables; Query: show tables +-----------+ | name | +-----------+ | customers | | employee | | student | +-----------+ Fetched 3 row(s) in 0.11s
使用 Hue 瀏覽器建立資料庫
開啟 Impala 查詢編輯器,在其中鍵入 `drop table` 語句。然後單擊執行按鈕,如下面的螢幕截圖所示。

執行查詢後,輕輕地將游標移動到下拉選單的頂部,您會找到一個重新整理符號。如果單擊重新整理符號,資料庫列表將重新整理,並且最近所做的更改將應用於其中。

驗證
單擊編輯器左側“資料庫”標題下的下拉選單。在那裡您可以看到資料庫列表;選擇資料庫 `my_db`,如下所示。

選擇資料庫 `my_db` 後,您可以看到其中的表列表,如下所示。在這裡,您找不到已刪除的表 `student`,如下所示。
