Оператор INSERT Impala состоит из двух пунктов — в и перезаписать . Оператор Insert с предложением into используется для добавления новых записей в существующую таблицу в базе данных.
Синтаксис
Существует два основных синтаксиса оператора INSERT :
вставить в table_name (column1, column2, column3, ... columnN) значения (значение1, значение2, значение3, ... значениеN);
Здесь column1, column2, … columnN — это имена столбцов в таблице, в которую вы хотите вставить данные.
Вы также можете добавлять значения без указания имен столбцов, но для этого необходимо убедиться, что порядок значений находится в том же порядке, что и столбцы в таблице, как показано ниже.
Insert into table_name values (value1, value2, value2);
CREATE TABLE — это ключевое слово, указывающее системе базы данных создать новую таблицу. Уникальное имя или идентификатор таблицы следует за оператором CREATE TABLE. При желании вы можете указать имя_базы_данных вместе с именем_таблицы .
пример
Предположим, мы создали таблицу с именем student в Impala, как показано ниже.
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]> вставить в значения сотрудника (2, «Хилан», 25, «Дели», 15000);
При выполнении вышеприведенного оператора в таблицу с именем employee вставляется запись, отображающая следующее сообщение.
Query: insert into employee values (2, 'Khilan', 25, 'Delhi', 15000 ) Inserted 1 row(s) in 0.31s
Вы можете вставить еще несколько записей в таблицу сотрудников, как показано ниже.
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 будет выглядеть так, как показано ниже.
+----+----------+-----+-----------+--------+ | 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
При проверке таблицы вы можете заметить, что все записи сотрудника таблицы перезаписываются новыми записями, как показано ниже.
+----+------+-----+---------------+--------+ | id | name | age | address | salary | +----+------+-----+---------------+--------+ | 1 | Ram | 26 | Vishakhapatnam| 37000 | +----+------+-----+---------------+--------+
Вставка данных с помощью Hue Browser
Откройте редактор запросов Impala и введите в него оператор вставки . И нажмите кнопку «Выполнить», как показано на следующем снимке экрана.
После выполнения запроса / оператора эта запись добавляется в таблицу.