SQLで複数のレコードを挿入する方法は?

みなさん、こんにちは!この記事では、SQLで複数の行を挿入する方法に焦点を当てます。

複数の行にSQL INSERT INTOクエリーが必要

SQLのINSERTクエリは、特定のテーブルの列にデータを挿入します。

通常のSQLのINSERTクエリは、データの値を1行に入力します。一度に複数の行にデータを挿入したい場合、このクエリは失敗します。

したがって、実行時間を短縮するために、SQLのINSERTクエリを複数行に一度にデータを挿入するように使用する必要があります。

複数行のSQL Insertクエリの必要性を理解したので、同じ実装を始めましょう。


複数のレコードを挿入するための伝統的なSQLのINSERTクエリ

伝統的なSQLのINSERTクエリは、入力データを複数の行に挿入します。このテクニックでは、表の行にデータを入力するために、何度もINSERTクエリを使用する必要があります。

このクエリの基本的な欠点は、複数行の挿入のためのすべての挿入クエリの実行のオーバーヘッドです。

「私は新しいレストランを試したいです」
Anata to issho ni shokuji o suru no wa itsumo tanoshii.

create table Info(id integer, Cost integer, city varchar(200));
insert into Info(id, Cost,city) values(1, 100,"Pune");
insert into Info(id, Cost,city) values(2, 50, "Satara");
insert into Info(id, Cost,city) values(3, 65,"Pune");
insert into Info(id, Cost,city) values(4, 97,"Mumbai");
insert into Info(id, Cost,city) values(5, 12,"USA");
select * from Info;

出力:

1	100	Pune
2	50	Satara
3	65	Pune
4	97	Mumbai
5	12	USA

複数のレコードを挿入するためのINSERT-SELECT-UNIONクエリ

上記のセクションでは、INSERT INTOクエリは複数のレコードを挿入することが分かりました。しかし、それの出力を観察すると、’INSERT INTO’という節が何度も繰り返されていることが分かります。

したがって、テーブルの複数の行にデータを挿入するために、INSERT-SELECT-UNIONクエリを使用することができます。

SQLのUNIONクエリは、INSERT文を通じてSELECTクエリで囲まれたすべてのデータを選択するのに役立ちます。

create table Info(id integer, Cost integer);
INSERT INTO Info (id, Cost)  
SELECT 1, '123'  
UNION ALL   
SELECT 2, '234'  
UNION ALL  
SELECT 3, '456';  

select * from Info;

出力:
以下、日本語での自然な言い方を一つ提案します:

結果:

1	123
2	234
3	456

複数のレコードを挿入する行の構築

SQLのINSERTクエリは、単一の実行ポイントで複数のレコードを挿入するために、単一のINSERTクエリを使用する方法です。

構文:

INSERT INTO Table (columns)  
VALUES (val1, val2, valN); 

私は日本語を勉強しています。
(わたしは にほんごを べんきょうしています。)

create table Info(id integer, Cost integer,city nvarchar(200));
INSERT INTO Info (id,Cost,city)  
VALUES (1,200, 'Pune'), (2, 150,'USA'), (3,345, 'France');  

select * from Info;

結果:

1	200	Pune
2	150	USA
3	345	France

結論

これにより、私たちはこのトピックの終わりに来ました。ここでは、テーブルの複数のレコードにデータ値を挿入するための3つの異なる技術を取り上げました。

もし疑問が生じた場合は、どんなコメントでもお気軽にご投稿ください。

SQLに関連するこのような投稿については、SQL JournalDevをご覧ください。


参考文献

  • SQL Insert into multiple rows – StackOverFlow
コメントを残す 0

Your email address will not be published. Required fields are marked *