Impala - Inserisci istruzione

Il INSERT La dichiarazione di Impala ha due clausole: into e overwrite. Inserisci dichiarazione coninto viene utilizzata per aggiungere nuovi record in una tabella esistente in un database.

Sintassi

Esistono due sintassi di base di INSERT dichiarazione come segue -

insert into table_name (column1, column2, column3,...columnN)

values (value1, value2, value3,...valueN);

Qui, colonna1, colonna2, ... colonnaN sono i nomi delle colonne nella tabella in cui si desidera inserire i dati.

Puoi anche aggiungere valori senza specificare i nomi delle colonne ma, per questo, devi assicurarti che l'ordine dei valori sia nello stesso ordine delle colonne nella tabella come mostrato di seguito.

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

CREATE TABLE è la parola chiave che dice al sistema di database di creare una nuova tabella. Il nome o l'identificatore univoco per la tabella segue l'istruzione CREATE TABLE. Facoltativamente puoi specificaredatabase_name insieme con il table_name.

Esempio

Supponiamo di aver creato una tabella denominata student in Impala come mostrato di seguito.

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

Di seguito è riportato un esempio di creazione di un record nella tabella denominata employee.

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

Quando si esegue l'istruzione di cui sopra, un record viene inserito nella tabella denominata employee visualizzando il seguente messaggio.

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

È possibile inserire un altro record senza specificare i nomi delle colonne come mostrato di seguito.

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

Quando si esegue l'istruzione di cui sopra, un record viene inserito nella tabella denominata employee visualizzando il seguente messaggio.

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

È possibile inserire altri record nella tabella dei dipendenti come mostrato di seguito.

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 );

Dopo aver inserito i valori, il file employee la tabella in Impala sarà come mostrato di seguito.

+----+----------+-----+-----------+--------+
| 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  |
+----+----------+-----+-----------+--------+

Sovrascrittura dei dati in una tabella

Possiamo sovrascrivere i record di una tabella utilizzando la clausola di sovrascrittura. I record sovrascritti verranno eliminati definitivamente dalla tabella. Di seguito è riportata la sintassi per l'utilizzo della clausola di sovrascrittura.

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

Esempio

Di seguito è riportato un esempio di utilizzo della clausola overwrite.

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

Quando si esegue la query precedente, questo sovrascriverà i dati della tabella con il record specificato che visualizza il seguente messaggio.

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

Verificando la tabella, puoi osservare che tutti i record della tabella employee vengono sovrascritti da nuovi record come mostrato di seguito.

+----+------+-----+---------------+--------+
| id | name | age | address       | salary |
+----+------+-----+---------------+--------+
| 1  | Ram  | 26  | Vishakhapatnam| 37000  |
+----+------+-----+---------------+--------+

Inserimento di dati utilizzando Hue Browser

Apri l'editor di query di Impala e digita insertDichiarazione in esso. E fai clic sul pulsante Esegui come mostrato nello screenshot seguente.

Dopo aver eseguito la query / istruzione, questo record viene aggiunto alla tabella.