×

impala 教程

impala 概述impala 环境impala 架构impala Shellimpala 查询语言基础

数据库特定语句

impala 创建数据库impala 删除数据库impala 选择数据库

Table 特定语句

impala CREATE TABLE语句impala Insert语句impala Select语句impala Describe语句impala ALTER TABLEimpala 删除表impala 截断表impala 显示表impala 创建视图impala ALTER VIEWimpala 删除视图

impala 条款

impala ORDER BY子句impala GROUP BY子句impala having子句impala 限制条款impala 偏移条款impala Union条款impala with子句impala DISTINCT运算符

impala 相关资源

impala 相关资源impala 相关讨论

impala Insert语句


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

语法

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语句之后。 (可选)您可以指定database_name和table_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子句的语法。

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

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

[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语句。 然后单击执行按钮,如下面的屏幕截图所示。

插入数据

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


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)