Impala - Instruction d'insertion

le INSERT La déclaration d'Impala comporte deux clauses - into et overwrite. Insérer une déclaration avecinto La clause est utilisée pour ajouter de nouveaux enregistrements dans une table existante dans une base de données.

Syntaxe

Il existe deux syntaxes de base de INSERT déclaration comme suit -

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

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

Ici, colonne1, colonne2, ... colonneN sont les noms des colonnes du tableau dans lesquelles vous souhaitez insérer des données.

Vous pouvez également ajouter des valeurs sans spécifier les noms de colonne mais, pour cela, vous devez vous assurer que l'ordre des valeurs est dans le même ordre que les colonnes du tableau comme indiqué ci-dessous.

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

CREATE TABLE est le mot-clé indiquant au système de base de données de créer une nouvelle table. Le nom ou l'identificateur unique de la table suit l'instruction CREATE TABLE. Vous pouvez éventuellement spécifierdatabase_name avec le table_name.

Exemple

Supposons que nous ayons créé une table nommée student dans Impala comme indiqué ci-dessous.

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

Voici un exemple de création d'un enregistrement dans la table nommée employee.

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

Lors de l'exécution de l'instruction ci-dessus, un enregistrement est inséré dans la table nommée employee affichant le message suivant.

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

Vous pouvez insérer un autre enregistrement sans spécifier les noms de colonne comme indiqué ci-dessous.

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

Lors de l'exécution de l'instruction ci-dessus, un enregistrement est inséré dans la table nommée employee affichant le message suivant.

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

Vous pouvez insérer quelques enregistrements supplémentaires dans le tableau des employés comme indiqué ci-dessous.

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

Après avoir inséré les valeurs, le employee table dans Impala sera comme indiqué ci-dessous.

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

Écraser les données dans une table

Nous pouvons écraser les enregistrements d'une table en utilisant la clause overwrite. Les enregistrements écrasés seront définitivement supprimés de la table. Voici la syntaxe d'utilisation de la clause overwrite.

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

Exemple

Voici un exemple d'utilisation de la clause overwrite.

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

Lors de l'exécution de la requête ci-dessus, cela écrasera les données de la table par l'enregistrement spécifié affichant le message suivant.

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

En vérifiant la table, vous pouvez observer que tous les enregistrements de la table employee sont écrasés par de nouveaux enregistrements comme indiqué ci-dessous.

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

Insertion de données à l'aide du navigateur Hue

Ouvrez l'éditeur de requête Impala et saisissez le insertDéclaration dedans. Et cliquez sur le bouton d'exécution comme indiqué dans la capture d'écran suivante.

Après avoir exécuté la requête / l'instruction, cet enregistrement est ajouté à la table.