Einfügen mehrerer Zeilen in SQL
Notwendigkeit der SQL Insert INTO Multiple Rows-Abfrage
Die SQL INSERT-Abfrage fügt Daten in die Spalten einer bestimmten Tabelle ein.
Die normale SQL INSERT-Abfrage fügt die Datenwerte in einer einzigen Zeile ein. Wenn wir jedoch Daten in mehreren Zeilen gleichzeitig einfügen möchten, schlägt diese Abfrage fehl.
Um die Ausführungszeit zu sparen, müssen wir die SQL INSERT-Abfrage so verwenden, dass sie Daten gleichzeitig in mehrere Zeilen einfügt.
Nachdem wir die Notwendigkeit der SQL Insert-Abfrage für mehrere Zeilen verstanden haben, beginnen wir mit der Implementierung.
Traditionelle SQL INSERT-Abfrage zum Einfügen mehrerer Datensätze
Die traditionelle SQL INSERT-Abfrage fügt Eingabedaten in mehrere Zeilen ein. Bei dieser Technik müssen wir die Einfügeabfrage so oft ausführen, wie wir Daten in die Zeilen der Tabelle eingeben möchten.
Der grundlegende Nachteil dieser Abfrage ist der Overhead bei der Ausführung jeder Einfügeabfrage für die Einfügung mehrerer Zeilen.
Beispiel:
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;
Ausgabe:
1 100 Pune
2 50 Satara
3 65 Pune
4 97 Mumbai
5 12 USA
INSERT-SELECT-UNION-Abfrage zum Einfügen mehrerer Datensätze
Im obigen Abschnitt haben wir erfahren, dass die INSERT INTO-Abfrage mehrere Datensätze einfügt. Wenn wir jedoch die Ausgabe betrachten, stellen wir fest, dass die Klausel „INSERT INTO“ viele Male wiederholt wird.
Wir können daher die INSERT-SELECT-UNION-Abfrage verwenden, um Daten in mehrere Zeilen der Tabelle einzufügen.
Die SQL UNION-Abfrage hilft dabei, alle Daten auszuwählen, die durch die SELECT-Abfrage innerhalb der INSERT-Anweisung eingeschlossen wurden.
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;
Ausgabe:
1 123
2 234
3 456
Reihenkonstruktion zum Einfügen mehrerer Datensätze
Die SQL INSERT-Abfrage wird so verwendet, dass wir eine einzelne INSERT-Abfrage verwenden, um mehrere Datensätze innerhalb eines einzigen Ausführungspunktes einzufügen.
Syntax:
INSERT INTO Table (columns)
VALUES (val1, val2, valN);
Beispiel:
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;
Ausgabe:
1 200 Pune
2 150 USA
3 345 France
Fazit
Damit sind wir am Ende dieses Themas angelangt. Hier haben wir drei verschiedene Techniken behandelt, um Datenwerte über mehrere Datensätze einer Tabelle einzufügen.