Impala - Inserir declaração
o INSERT Declaração da Impala tem duas cláusulas - into e overwrite. Inserir declaração cominto cláusula é usada para adicionar novos registros em uma tabela existente em um banco de dados.
Sintaxe
Existem duas sintaxes básicas de INSERT declaração da seguinte forma -
insert into table_name (column1, column2, column3,...columnN)
values (value1, value2, value3,...valueN);
Aqui, coluna1, coluna2, ... colunaN são os nomes das colunas na tabela na qual você deseja inserir dados.
Você também pode adicionar valores sem especificar os nomes das colunas, mas, para isso, você precisa se certificar de que a ordem dos valores está na mesma ordem das colunas na tabela, conforme mostrado abaixo.
Insert into table_name values (value1, value2, value2);
CREATE TABLE é a palavra-chave que diz ao sistema de banco de dados para criar uma nova tabela. O nome ou identificador exclusivo da tabela segue a instrução CREATE TABLE. Opcionalmente, você pode especificardatabase_name juntamente com o table_name.
Exemplo
Suponha que criamos uma tabela chamada student no Impala como mostrado abaixo.
create table employee (Id INT, name STRING, age INT,address STRING, salary BIGINT);
A seguir está um exemplo de criação de um registro na tabela chamada employee.
[quickstart.cloudera:21000] > insert into employee
(ID,NAME,AGE,ADDRESS,SALARY)VALUES (1, 'Ramesh', 32, 'Ahmedabad', 20000 );
Ao executar a instrução acima, um registro é inserido na tabela chamada employee exibindo a seguinte mensagem.
Query: insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh',
32, 'Ahmedabad', 20000 )
Inserted 1 row(s) in 1.32s
Você pode inserir outro registro sem especificar os nomes das colunas conforme mostrado abaixo.
[quickstart.cloudera:21000] > insert into employee values (2, 'Khilan', 25,
'Delhi', 15000 );
Ao executar a instrução acima, um registro é inserido na tabela chamada employee exibindo a seguinte mensagem.
Query: insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 )
Inserted 1 row(s) in 0.31s
Você pode inserir mais alguns registros na tabela de funcionários, conforme mostrado abaixo.
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 );
Após inserir os valores, o employee tabela no Impala será como mostrado abaixo.
+----+----------+-----+-----------+--------+
| 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 |
+----+----------+-----+-----------+--------+
Substituindo os dados em uma tabela
Podemos substituir os registros de uma tabela usando a cláusula overwrite. Os registros sobrescritos serão excluídos permanentemente da tabela. A seguir está a sintaxe de uso da cláusula overwrite.
Insert overwrite table_name values (value1, value2, value2);
Exemplo
A seguir está um exemplo de uso da cláusula overwrite.
[quickstart.cloudera:21000] > Insert overwrite employee values (1, 'Ram', 26,
'Vishakhapatnam', 37000 );
Ao executar a consulta acima, isso irá sobrescrever os dados da tabela com o registro especificado exibindo a seguinte mensagem.
Query: insert overwrite employee values (1, 'Ram', 26, 'Vishakhapatnam', 37000 )
Inserted 1 row(s) in 0.31s
Ao verificar a tabela, você pode observar que todos os registros da tabela employee são substituídos por novos registros, conforme mostrado abaixo.
+----+------+-----+---------------+--------+
| id | name | age | address | salary |
+----+------+-----+---------------+--------+
| 1 | Ram | 26 | Vishakhapatnam| 37000 |
+----+------+-----+---------------+--------+
Inserindo dados usando o navegador Hue
Abra o editor de consultas Impala e digite o insertDeclaração nele. E clique no botão executar conforme mostrado na imagem a seguir.
Depois de executar a consulta / instrução, esse registro é adicionado à tabela.