SQL > Tabellenbearbeitung > Insert Into 

In den vorhergehenden Abschnitten haben wir uns mit dem Aufrufen von Daten aus Tabellen beschäftigt. Wie gelangen diese Datenzeilen aber ursprünglich in die Tabellen? Um diese Frage geht es in den nächsten Abschnitten, die die Anweisungen INSERT und UPDATE behandeln.

In SQL gibt es im Wesentlichen zwei Methoden zum Einfügen (INSERT) von Daten in eine Tabelle: Bei der einen wird jeweils eine Zeile eingefügt und bei der anderen mehrere gleichzeitig. Sehen wir uns zunächst den Befehl zum Einfügen (INSERT) einzelner Datenzeilen an.

Die Syntax für die entsprechende Funktion sieht folgendermaßen aus:

INSERT INTO "Tabellen_Name" ("Spalte1", "Spalte2", ...)
VALUES ("Wert1", "Wert2", ...);

Nehmen wir an, uns liegt eine Tabelle mit der folgenden Struktur vor,

Tabelle Store_Information

Spalte Name Datentyp
store_name char(50)
Sales float
Txn_Date datetime

und wir möchten nun eine weitere Zeile mit den Umsatzdaten für Los Angeles am 10. Januar 1999 in die Tabelle einfügen. An diesem Tag erzielte das entsprechende Warenhaus einen Umsatz von € 900. Wir verwenden dazu das folgende SQL-Skript:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
VALUES ('Los Angeles', 900, '10.Jan.1999');

Mit dem zweiten Typ von INSERT INTO können wir mehrere Zeilen in eine Tabelle einfügen. Im Gegensatz zum vorhergehenden Beispiel, bei dem wir eine einzelne Zeile durch Angabe der Werte für alle Spalten eingefügt haben, verwenden wir nunmehr eine SELECT-Anweisung, um die einzufügenden Daten festzulegen. Mit der Vermutung, dass dies die Verwendung von Daten aus einer anderen Tabelle impliziert, liegen Sie richtig. Die Syntax sieht folgendermaßen aus:

INSERT INTO "Tabellen_Name" ("Spalte1", "Spalte2", ...)
SELECT "Spalte3", "Spalte4", ...
FROM "Tabellen_Name2";

Beachten Sie, dass es sich hierbei um die einfachste Form handelt. Die komplette Anweisung kann durchaus WHERE-, GROUP BY-, und HAVING-Klauseln sowie Tabellen-Joins und Aliasse enthalten.

Wenn wir zum Beispiel eine Tabelle Store_Information wünschen, in der die Umsatzdaten für das Jahr 1998 gesammelt werden und bereits bekannt ist, dass sich die Quelldaten in der Tabelle Sales_Information befinden, geben wir Folgendes ein:

INSERT INTO Store_Information (Store_Name, Sales, Txn_Date)
SELECT Store_Name, Sales, Txn_Date
FROM Sales_Information
WHERE Year (Txn_Date) = 1998;

Zum Abrufen der Jahresdaten aus einem Datum wurde hier die SQL Server-Syntax verwendet. Andere relationale Datenbanken haben eine andere Syntax. In Oracle würden wir beispielsweise TO_CHAR (TXN_Date, 'yyyy') = 1998 eingeben. 

SQL UPDATE >>





Copyright © 2014   1keydata.com   Alle Rechte vorbehalten.