Impala - Wstaw oświadczenie
Plik INSERT Oświadczenie Impali ma dwie klauzule - into i overwrite. Wstaw instrukcję za pomocąinto Klauzula służy do dodawania nowych rekordów do istniejącej tabeli w bazie danych.
Składnia
Istnieją dwie podstawowe składnie INSERT oświadczenie w następujący sposób -
insert into table_name (column1, column2, column3,...columnN)
values (value1, value2, value3,...valueN);
Tutaj kolumna1, kolumna2, ... kolumnaN to nazwy kolumn w tabeli, do których chcesz wstawić dane.
Możesz również dodawać wartości bez określania nazw kolumn, ale w tym celu musisz upewnić się, że kolejność wartości jest taka sama, jak w kolumnach w tabeli, jak pokazano poniżej.
Insert into table_name values (value1, value2, value2);
CREATE TABLE to słowo kluczowe nakazujące systemowi bazy danych utworzenie nowej tabeli. Unikalna nazwa lub identyfikator tabeli następuje po instrukcji CREATE TABLE. Opcjonalnie możesz określićdatabase_name razem z table_name.
Przykład
Załóżmy, że utworzyliśmy tabelę o nazwie student w Impali, jak pokazano poniżej.
create table employee (Id INT, name STRING, age INT,address STRING, salary BIGINT);
Poniżej znajduje się przykład tworzenia rekordu w tabeli o nazwie employee.
[quickstart.cloudera:21000] > insert into employee
(ID,NAME,AGE,ADDRESS,SALARY)VALUES (1, 'Ramesh', 32, 'Ahmedabad', 20000 );
Wykonanie powyższej instrukcji powoduje wstawienie rekordu do tabeli o nazwie employee wyświetlenie następującego komunikatu.
Query: insert into employee (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh',
32, 'Ahmedabad', 20000 )
Inserted 1 row(s) in 1.32s
Możesz wstawić inny rekord bez określania nazw kolumn, jak pokazano poniżej.
[quickstart.cloudera:21000] > insert into employee values (2, 'Khilan', 25,
'Delhi', 15000 );
Wykonanie powyższej instrukcji powoduje wstawienie rekordu do tabeli o nazwie employee wyświetlenie następującego komunikatu.
Query: insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 )
Inserted 1 row(s) in 0.31s
Możesz wstawić kilka dodatkowych rekordów w tabeli pracowników, jak pokazano poniżej.
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 );
Po wstawieniu wartości employee stół w Impali będzie taki, jak pokazano poniżej.
+----+----------+-----+-----------+--------+
| 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 |
+----+----------+-----+-----------+--------+
Nadpisywanie danych w tabeli
Możemy nadpisać rekordy tabeli za pomocą klauzuli nadpisywania. Nadpisane rekordy zostaną trwale usunięte z tabeli. Poniżej znajduje się składnia użycia klauzuli overwrite.
Insert overwrite table_name values (value1, value2, value2);
Przykład
Poniżej znajduje się przykład użycia klauzuli overwrite.
[quickstart.cloudera:21000] > Insert overwrite employee values (1, 'Ram', 26,
'Vishakhapatnam', 37000 );
Wykonanie powyższego zapytania spowoduje nadpisanie danych tabeli określonym rekordem wyświetlającym następujący komunikat.
Query: insert overwrite employee values (1, 'Ram', 26, 'Vishakhapatnam', 37000 )
Inserted 1 row(s) in 0.31s
Po weryfikacji tabeli można zauważyć, że wszystkie rekordy tabeli employee są nadpisywane przez nowe rekordy, jak pokazano poniżej.
+----+------+-----+---------------+--------+
| id | name | age | address | salary |
+----+------+-----+---------------+--------+
| 1 | Ram | 26 | Vishakhapatnam| 37000 |
+----+------+-----+---------------+--------+
Wstawianie danych za pomocą przeglądarki Hue
Otwórz edytor zapytań Impala i wpisz insertOświadczenie w nim. I kliknij przycisk wykonania, jak pokazano na poniższym zrzucie ekranu.
Po wykonaniu zapytania / instrukcji rekord ten jest dodawany do tabeli.