SQL SELECT INTO - Was ist das
Mit den relationalen Datenbanken etwa PARADOX unter PC oder ORACLE unter Großrechnern begann alles: Da hatte man Daten, Tabellen und Aktionen. Einer dieser Programmierzeilen hieß nun SELECT INTO. Im folgenden Kurz-Script wird dieser Befehl anhand von kleinen Beispielen erläutert und erklärt:
/wedata%2F0033312%2F2011-09%2FSQL-SELECT-INTO-.jpg)
Bedeutung von SELECT INTO
Der Befehl SELECT INTO kann verwendet werden, um Backup Kopien der Tabellen zu schaffen.
Das Statement SELECT INTO wählt also Daten von einer Tabelle aus und fügt es in einen andere Tabelle ein.
Der Befehl SELECT INTO wird so meistens verwendet, um Sicherheitskopien von Tabellen zu generieren.
Beispiele mit SELECT INTO
Wir können alle Daten in der neuen Tabelle auswählen:
SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename.
Die eckige Klammer steht dabei für eine Kann-Angabe.
Oder wir können nur die Daten auswählen, die wir in der neuen Tabelle wollen:
SELECT column_name(s) INTO new_table_name [IN externaldatabase] FROM old_tablename.
Am folgenden Beispiel sei SELECT INTO festgemacht:
Davor macht man noch eine Kopie; dann soll eine genaue Kopie der Daten in der „Person“-Tabelle gemacht werden.
Dazu eignet sich folgende Befehlszeile: SELECT * INTO Persons_Backup FROM Persons.
Auch in eine andere Datenbank können wir die Daten kopieren: SELECT * INTO Persons_Backup IN 'Backup.mdb' FROM Persons.
Außerdem können nur einige Felder in die neuen Tabelle kopiert werden, etwa der Nachname und Vorname: SELECT Lastname, Firstname INTO Persons_Backup FROM Persons.
Auch die WHO Klausel, der Filter, kann gesetzt werden:
Das folgende SQL Statement schafft einen Backup der Tabelle „Persons“ mit nur den Personen, welche in der Stadt „Innsbruck“ leben: SELECT Lastname, Firstname INTO Persons_Backup FROM Persons WHERE City=' Innsbruck'.
Auch ist es möglich Daten von mehr als einer Tabelle auszuwählen.
Das folgende Beispiel enthält Daten von den zwei Tabellen „Personen“ und „Aufträge“ und schafft eine "Persons_Order_Backup" Tabelle: SELECT Persons.LastName, Orders.OrderNo INTO Persons_Order_Backup FROM Persons INNER JOIN Orders ON Persons.P_Id = Orders.P_Id.
Wobei immer für die Syntax in SQL gilt: Der linke Text vor dem Punkt gibt den Feldnamen an und der rechte Teil den Tabellennamen, großgeschrieben ist immer der Befehl.
Fazit
Das SELECT INTO Statement ist in SQL ein praktischer Befehl, um Backup Kopien der Tabellen zu generieren.
Daten werden also aus einer Tabelle ausgelesen und in eine andere Tabelle geschrieben.
SELECT INTO wird so meistens in SQL verwendet, um Backups von Tabellen zu erzeugen, egal ob die Daten auf einem SQL Server liegen.
Dieser Befehl unterscheidet sich also von INSERT.