- 表特定語句
- Impala - 建立表語句
- Impala - INSERT 語句
- Impala - SELECT 語句
- Impala - DESCRIBE 語句
- Impala - ALTER TABLE
- Impala - 刪除表
- Impala - TRUNCATE 表
- Impala - SHOW TABLES
- Impala - 建立檢視
- Impala - ALTER VIEW
- 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 - INSERT 語句
Impala 的INSERT語句包含兩個子句——into和overwrite。帶有into子句的INSERT語句用於將新記錄新增到資料庫中現有表中。
語法
INSERT語句有兩個基本語法,如下所示:
insert into table_name (column1, column2, column3,...columnN) values (value1, value2, value3,...valueN);
這裡,column1, column2,...columnN 是您要向其中插入資料的表的列名。
您也可以在不指定列名的情況下新增值,但是,為此您需要確保值的順序與表中列的順序相同,如下所示。
Insert into table_name values (value1, value2, value2);
CREATE TABLE 是告訴資料庫系統建立一個新表的關鍵字。表的唯一名稱或識別符號位於 CREATE TABLE 語句之後。您可以選擇性地與table_name一起指定database_name。
示例
假設我們在 Impala 中建立了一個名為student的表,如下所示。
create table employee (Id INT, name STRING, age INT,address STRING, salary BIGINT);
以下是建立名為employee的表中記錄的示例。
[quickstart.cloudera:21000] > insert into employee (ID,NAME,AGE,ADDRESS,SALARY)VALUES (1, 'Ramesh', 32, 'Ahmedabad', 20000 );
執行上述語句後,將在名為employee的表中插入一條記錄,並顯示以下訊息。
Query: insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 20000 ) Inserted 1 row(s) in 1.32s
您可以不指定列名來插入另一條記錄,如下所示。
[quickstart.cloudera:21000] > insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 );
執行上述語句後,將在名為employee的表中插入一條記錄,並顯示以下訊息。
Query: insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 ) Inserted 1 row(s) in 0.31s
您可以向 employee 表中插入更多幾條記錄,如下所示。
Insert into employee values (3, 'kaushik', 23, 'Kota', 30000 ); Insert into employee values (4, 'Chaitali', 25, 'Mumbai', 35000 ); Insert into employee values (5, 'Hardik', 27, 'Bhopal', 40000 ); Insert into employee values (6, 'Komal', 22, 'MP', 32000 );
插入值後,Impala 中的employee表將如下所示。
+----+----------+-----+-----------+--------+ | id | name | age | address | salary | +----+----------+-----+-----------+--------+ | 1 | Ramesh | 32 | Ahmedabad | 20000 | | 2 | Khilan | 25 | Delhi | 15000 | | 5 | Hardik | 27 | Bhopal | 40000 | | 4 | Chaitali | 25 | Mumbai | 35000 | | 3 | kaushik | 23 | Kota | 30000 | | 6 | Komal | 22 | MP | 32000 | +----+----------+-----+-----------+--------+
覆蓋表中的資料
我們可以使用 overwrite 子句覆蓋表的記錄。被覆蓋的記錄將從表中永久刪除。以下是使用 overwrite 子句的語法。
Insert overwrite table_name values (value1, value2, value2);
示例
以下是使用overwrite子句的示例。
[quickstart.cloudera:21000] > Insert overwrite employee values (1, 'Ram', 26, 'Vishakhapatnam', 37000 );
執行上述查詢後,這將使用指定的記錄覆蓋表資料,並顯示以下訊息。
Query: insert overwrite employee values (1, 'Ram', 26, 'Vishakhapatnam', 37000 ) Inserted 1 row(s) in 0.31s
驗證表後,您可以觀察到employee表的所有記錄都被新記錄覆蓋,如下所示。
+----+------+-----+---------------+--------+ | id | name | age | address | salary | +----+------+-----+---------------+--------+ | 1 | Ram | 26 | Vishakhapatnam| 37000 | +----+------+-----+---------------+--------+
使用 Hue 瀏覽器插入資料
開啟 Impala 查詢編輯器,並在其中鍵入insert語句。然後單擊執行按鈕,如下面的螢幕截圖所示。
執行查詢/語句後,此記錄將新增到表中。
廣告