课程表

Impala 基础

Table 特定语句

Impala 子句

工具箱
速查手册

impala Insert语句

当前位置:免费教程 » 大数据/云 » Impala

Impala的INSERT语句有两个子句 - into和overwrite。 Insert语句with into子句用于将新记录添加到数据库中的现有表中。

语法

INSERT语句有两种基本语法,如下所示:

  1. insert into table_name (column1, column2, column3,...columnN)
  2. values (value1, value2, value3,...valueN);

这里,column1,column2,... columnN是要插入数据的表中的列的名称。

您还可以添加值而不指定列名,但是,您需要确保值的顺序与表中的列的顺序相同,如下所示。

  1. Insert into table_name values (value1, value2, value2);

CREATE TABLE是关键字,告诉数据库系统创建一个新表。 表的唯一名称或标识符位于CREATE TABLE语句之后。 (可选)您可以指定database_name和table_name。

假设我们在Impala中创建了一个名为student的表,如下所示。

  1. create table employee (Id INT, name STRING, age INT,address STRING, salary BIGINT);

以下是在名为employee的表中创建记录的示例。

  1. [quickstart.cloudera:21000] > insert into employee
  2. (ID,NAME,AGE,ADDRESS,SALARY)VALUES (1, 'Ramesh', 32, 'Ahmedabad', 20000 );

在执行上述语句时,会将记录插入到名为employee的表中,并显示以下消息。

  1. Query: insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh',
  2. 32, 'Ahmedabad', 20000 )
  3. Inserted 1 row(s) in 1.32s

您可以插入另一个记录,而不指定列名称,如下所示。

  1. [quickstart.cloudera:21000] > insert into employee values (2, 'Khilan', 25,
  2. 'Delhi', 15000 );

在执行上述语句时,会将记录插入到名为employee的表中,并显示以下消息。

  1. Query: insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 )
  2. Inserted 1 row(s) in 0.31s

您可以在employee表中插入更多记录,如下所示。

  1. Insert into employee values (3, 'kaushik', 23, 'Kota', 30000 );
  2.  
  3. Insert into employee values (4, 'Chaitali', 25, 'Mumbai', 35000 );
  4.  
  5. Insert into employee values (5, 'Hardik', 27, 'Bhopal', 40000 );
  6.  
  7. Insert into employee values (6, 'Komal', 22, 'MP', 32000 );

插入值后,Impala中的employee表将如下所示。

  1. +----+----------+-----+-----------+--------+
  2. | id | name | age | address | salary |
  3. +----+----------+-----+-----------+--------+
  4. | 1 | Ramesh | 32 | Ahmedabad | 20000 |
  5. | 2 | Khilan | 25 | Delhi | 15000 |
  6. | 5 | Hardik | 27 | Bhopal | 40000 |
  7. | 4 | Chaitali | 25 | Mumbai | 35000 |
  8. | 3 | kaushik | 23 | Kota | 30000 |
  9. | 6 | Komal | 22 | MP | 32000 |
  10. +----+----------+-----+-----------+--------+

覆盖表中的数据

我们可以使用覆盖子句覆盖表的记录。 覆盖的记录将从表中永久删除。 以下是使用overwrite子句的语法。

  1. Insert overwrite table_name values (value1, value2, value2);

以下是使用子句覆盖的示例。

  1. [quickstart.cloudera:21000] > Insert overwrite employee values (1, 'Ram', 26,
  2. 'Vishakhapatnam', 37000 );

在执行上面的查询时,这将覆盖表数据,指定的记录显示以下消息。

  1. Query: insert overwrite employee values (1, 'Ram', 26, 'Vishakhapatnam', 37000 )
  2. Inserted 1 row(s) in 0.31s

在验证表时,您可以观察到表employee的所有记录都被新记录覆盖,如下所示。

  1. +----+------+-----+---------------+--------+
  2. | id | name | age | address | salary |
  3. +----+------+-----+---------------+--------+
  4. | 1 | Ram | 26 | Vishakhapatnam| 37000 |
  5. +----+------+-----+---------------+--------+

使用Hue浏览器插入数据

打开Impala查询编辑器并键入其中的insert语句。 然后单击执行按钮,如下面的屏幕截图所示。

插入数据

执行查询/语句后,此记录将添加到表中。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号