Einführung in INSERT in Oracle
In diesem Artikel lernen wir die INSERT-Abfrage in ORACLE kennen. Wie der Name schon sagt, wird die INSERT-Abfrage verwendet, um einzelne oder mehrere Datensätze in eine Tabelle einzufügen. Es ist eine DML-Anweisung. DML bedeutet Datenmanipulation. Dies ist eine der am häufigsten verwendeten Oracle-Abfragen zum Lösen von Problemen. Beachten Sie, dass bei Verwendung von INSERT für jede NOT NULL-Spalte ein Wert angegeben werden muss. Wenn die Spalte jedoch NULL-Werte zulässt, können Sie die Spalte weglassen.
Syntax
Die INSERT-Abfrage hat eine ziemlich einfache Syntax, wie wir weiter unten sehen werden.
- Einfügen eines einzelnen Datensatzes mit dem Schlüsselwort VALUES.
Syntax:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Einfügen mehrerer Datensätze mit dem Schlüsselwort SELECT.
Syntax:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parameter der INSERT-Anweisung in Oracle
Nachfolgend sind die verschiedenen Parameter der INSERT-Anweisung in Oracle aufgeführt:
- Tabellenname: Der Name der Tabelle, in die die Werte eingefügt werden sollen.
- (column1, column2, ……, column_n): Spalten, in die Werte eingefügt werden sollen
- (expression1, expression2, expression3, expression_n): Es gibt die Werte, die wir in die entsprechenden Spalten einfügen möchten.
- source_table: Dies ist die Tabelle, aus der wir Daten extrahieren, um sie in die aktuelle Tabelle einzufügen.
- (wo Bedingung): Diese Bedingung ist optional. Es wird verwendet, wenn wir Daten basierend auf einer Bedingung einfügen möchten.
Beispiele zur Implementierung der INSERT-Anweisung in Oracle
Es folgen die verschiedenen Beispiele zur Implementierung der insert-Anweisung in oracle:
Beispiel # 1 - INSERT using VALUES Keyword
Dies ist die einfachste Möglichkeit, den Befehl INSERT zu verwenden. In diesem Fall fügen wir Werte ein, indem wir reale Werte gemäß den Spalten angeben. Wir können es auf beide Arten verwenden, indem wir die Spalten angeben, in die wir eintreten möchten, oder ohne die Spalten anzugeben. Wenn wir die Spalten angeben, werden die Werte in der angegebenen Reihenfolge eingefügt. Wir werden beide Wege anhand von Beispielen untersuchen.
Abfrage:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Jetzt haben wir eine Spalte hier gelassen, die vehicle_id ist. Es wird also automatisch null eingefügt.
Das folgende Bild zeigt uns die Tabellendaten, nachdem Daten eingefügt wurden.
Wie Sie sehen, ist die letzte Spalte im letzten Datensatz null. Jetzt werden wir nicht erwähnen, dass die Spalten nur das Schlüsselwort VALUES mit INSERT verwenden.
Abfrage:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Wie Sie sehen, haben wir die Spalten nicht bereitgestellt. Sehen wir uns die Tabellenwerte an, nachdem Sie den Befehl insert ausgeführt haben.
Wie Sie sehen, wurde nach der Ausführung der INSERT-Abfrage der letzte Datensatz in die Tabelle eingefügt.
Beispiel # 2 - INSERT mit einem SELECT Schlüsselwort mit der Bedingung
Dies ist sehr nützlich, wenn wir mehrere Einfügungen in einer Tabelle vornehmen möchten. In diesem Beispiel verwenden wir eine SELECT-Anweisung, um Daten in unsere Tabelle einzufügen, indem Daten aus einer anderen Tabelle extrahiert werden. Wir können auch Bedingungen in die Abfrage einfügen, wenn die Daten basierend auf einer Bedingung eingefügt werden sollen.
Unten sehen wir einige Beispiele, die uns die Verwendung von INSERT mit SELECT zeigen.
Abfrage:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
In der obigen Abfrage fügen wir tatsächlich Daten in das Tabellenfahrzeug ein, indem wir Daten aus einem anderen Tabellenmitarbeiter unter der Bedingung extrahieren, dass nur die Datensätze mit dem Wert Lexus in der Spalte Fahrzeugname von Tabellenmitarbeitern extrahiert und dann in die Tabelle eingefügt werden können Fahrzeugtabelle. Wenn wir also die obige Abfrage ausführen, werden alle Datensätze, die Fahrzeugname als Lexus im Tabellenmitarbeiter haben, in das Tabellenfahrzeug eingefügt. In unserem Fall hatten wir nur einen solchen Datensatz. Wenn Sie also den Screenshot sehen, sehen Sie, dass in der Konsole "1 Datensatz eingefügt" steht.
Beispiel # 3 - Verwenden von INSERT ALL für eine einzelne Tabelle
Diese Anweisung wird verwendet, wenn mehrere Datensätze mit einer einzigen INSERT-Anweisung zu einer einzelnen Tabelle hinzugefügt werden sollen. Anstatt INTO zu verwenden, werden wir ALL INTO mit INSERT verwenden, um dies zu erreichen. Angenommen, wir haben ein Tabellenfahrzeug und möchten zwei Datensätze einfügen. Wenn wir INSERT INTO verwenden, müssen wir zwei Insert-Abfragen schreiben, aber mit INSERT ALL müssen wir nur eine Abfrage schreiben. Schauen wir uns dazu die Abfrage an
Abfrage:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Wie Sie in der obigen Abfrage sehen können, fügen wir zwei Datensätze mit einer einzigen INSERT-Anweisung ein. Wenn wir dieselbe Abfrage mit der INSERT INTO-Anweisung geschrieben hätten, wäre sie wie folgt geschrieben worden:
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Ausgabe:
Wie Sie beim Ausführen der Abfragekonsole sehen können, liefert diese eine Ausgabe, die "2 Zeilen eingefügt".
Beispiel 4 - Verwenden von INSERT ALL für mehrere Tabellen
Wir können auch die INSERT ALL-Anweisung verwenden, um Daten in mehrere Tabellen einzufügen. Die Syntax wird gleich sein und wir müssen nur die Tabellennamen und ihre entsprechenden Spalten und Werte ersetzen. Nehmen wir zum Beispiel an, wir möchten Daten in beide Mitarbeiter sowie in die Fahrzeugtabelle einfügen, dann würde die folgende Abfrage den Job erledigen.
Abfrage:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki')
INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009')
SELECT * FROM dual;
Wie Sie in der obigen Abfrage sehen können, haben wir gerade den Tabellennamen und entsprechend deren Spalten und Werte geändert. Wenn wir dieselbe Abfrage mit der INSERT INTO-Anweisung geschrieben hätten, wäre sie wie folgt geschrieben worden:
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki');
INSERT INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009');
Ausgabe:
Wie Sie beim Ausführen der Abfragekonsole sehen können, liefert diese eine Ausgabe, die "2 Zeilen eingefügt".
Empfohlene Artikel
Dies ist eine Anleitung zu INSERT in Oracle. In diesem Artikel werden die INSERT-Anweisung, die Syntax und die verschiedenen Verwendungsmöglichkeiten der INSERT-Anweisung sowie die entsprechenden Beispiele erläutert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.
- Beispiele für SQL Insert Query
- Wie funktioniert die GROUP BY-Klausel in SQL?
- Top 5 Abfragen in Oracle
- Vollständiger Leitfaden für Oracle Data Warehousing