Impala-挿入ステートメント

ザ・ INSERT インパラの声明には2つの条項があります- into そして overwrite。ステートメントを挿入しますinto 句は、データベース内の既存のテーブルに新しいレコードを追加するために使用されます。

構文

の2つの基本的な構文があります INSERT 次のようなステートメント-

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

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

ここで、column1、column2、... columnNは、データを挿入するテーブル内の列の名前です。

列名を指定せずに値を追加することもできますが、そのためには、以下に示すように、値の順序が表の列と同じ順序であることを確認する必要があります。

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

CREATE TABLEは、データベースシステムに新しいテーブルを作成するように指示するキーワードです。テーブルの一意の名前または識別子は、CREATETABLEステートメントの後に続きます。オプションで指定できますdatabase_name 一緒に table_name

次の名前のテーブルを作成したとします。 student 以下に示すようにインパラで。

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] > insert into employee values (2, 'Khilan', 25, 
   'Delhi', 15000 );

上記のステートメントを実行すると、次の名前のテーブルにレコードが挿入されます。 employee 次のメッセージが表示されます。

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

以下に示すように、employeeテーブルにさらにいくつかのレコードを挿入できます。

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

値を挿入した後、 employee 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);

以下は、この句の使用例です。 overwrite

[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

テーブルを確認すると、テーブルのすべてのレコードを確認できます。 employee 以下に示すように、新しいレコードによって上書きされます。

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

Hueブラウザを使用したデータの挿入

Impalaクエリエディタを開き、次のように入力します insertその中のステートメント。次のスクリーンショットに示すように、実行ボタンをクリックします。

クエリ/ステートメントの実行後、このレコードはテーブルに追加されます。