SQL SELECT INTO – So kopieren Sie Datensätze in Tabellen
Mit SQL SELECT INTO
kopieren und übertragen Sie ausgewählte Datensätze in neue Tabellen oder in temporäre Speicherbereiche. Das bietet den Vorteil einer schnellen und zuverlässigen Datenübertragung, mit der Sie Datensätze lückenlos ordnen, aktualisieren und aufräumen.
Was ist SQL SELECT INTO
?
Die Datenbank- und Programmiersprache SQL bietet eine Reihe an Werkzeugen, mit denen Sie Ihre Datenbank professionell verwalten, analysieren und bearbeiten können. Dazu zählen Befehle wie SQL SELECT, mit dem sich in Kombination mit weiteren Operatoren vielfältige Aktionen ausführen lassen. Via SQL SELECT DISTINCT entfernen Sie beispielsweise Duplikate während Sie mit dem Operator SQL SELECT INTO
Datensätze aus einer Tabelle in eine andere kopieren. SELECT INTO
zählt nicht zu den klassischen SQL-Befehlen, SQL-Operatoren oder Funktionen, sondern gilt als SQL-Klausel in SQL-Statements.
Lernen Sie die wichtigsten Grundlagen und Funktionen von SQL kennen – eine der branchenübergreifend gefragtesten Programmier- und Datenbanksprachen. Unsere SQL-Einführung mit Beispielen sorgt für einen erfolgreichen und schnellen Einstieg.
Die Syntax von SELECT INTO
erklärt
Die einfache SELECT INTO
-Syntax sieht wie folgt aus:
SELECT *
INTO neue_zieltabelle
FROM bestehende_tabelle;
sqlDiese Parameter kommen zum Einsatz:
-
SELECT
: Der BefehlSELECT
definiert die Spalten in der bestehenden Tabelle, aus denen Sie Daten kopieren möchten. Sie können entweder spezifische Spaltenbezeichnungen angeben oder den Asterisk*
nutzen, um alle Daten der Quelltabelle zu kopieren. -
INTO
: Definiert und benennt die neue Zieltabelle für kopierte Datensätze. -
FROM
: Wählt die bestehende Tabelle aus, aus der Sie Datensätze kopieren möchten. -
WHERE
: Mit der optionalen Klausel SQL WHERE definieren Sie weitere, konkrete Bedingungen, die die zu kopierenden Daten aus der Quelltabelle erfüllen sollen.
Für diese Anwendungsmöglichkeiten eignet sich der SELECT INTO
-Operator
Grundsätzlich eignet sich SQL SELECT INTO
, um Daten in eine neue Tabelle zu übertragen. Weitere Anwendungsmöglichkeiten umfassen die Aggregation, das zeitweilige Zwischenspeichern oder das Extrahieren von Datensätzen oder Teilmengen. Durch das zusätzliche Entfernen von Duplikaten, beispielsweise mit DISTINCT
, können Sie Ihre Daten zudem bereinigen und reduzieren.
Praktische Anwendungsfälle aus verschiedenen Branchen umfassen unter anderem:
- Kopieren, Extrahieren und Übertragen von Kunden-, Bestell-, Patienten- oder Produktdaten für neue Projekte, Studien oder Datenmigration
- Trend- und Marketinganalysen durch aggregierte Bestell- und Verkaufsdaten
- Analyse von Finanzdaten durch die Übertragung von Transaktionsdaten
- Bereinigen von Kunden- oder Mitarbeiterdaten durch das Entfernen von Duplikaten in neuen Tabellen
- Sammlung und Analyse von Daten in Data Warehouses
- Datensammlung für Machine-Learning-Modelle
Sie suchen ein skalierbares, sicheres Datenbankmanagementsystem? Nutzen Sie SQL-Server-Hosting von IONOS und entdecken Sie individuelle Server- und Hosting-Angebote mit deutschen Standards für Datenschutz.
- Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
- Schneller NVMe-SSD-Speicher
- Kostenlose Plesk Web Host Edition
Praktische Beispiele für SQL SELECT INTO
Um zu veranschaulichen wie SQL SELECT INTO funktioniert, erklären wir Ihnen den Operator an zwei praktischen Anwendungsbeispielen.
Eindeutige Kundinnen und Kunden auswählen und übertragen
Sie möchten in einer Tabelle „Bestellungen“ alle eindeutigen Resultate der Spalte „Kundenname“, ohne doppelte Zeilen durch Mehrfachbestellungen auswählen und in eine neue Tabelle „BestellungenNeu“ übertragen? Gehen Sie wie folgt vor:
SELECT DISTINCT Kundenname
INTO BestellungenNeu
FROM Bestellungen;
sqlEinträge von Kundinnen und Kunden aus einer bestimmten Region übertragen
Mit der WHERE
-Klausel können Sie Kundendaten durch zusätzliche Bedingungen näher definieren. Möchten Sie zum Beispiel alle Einträge mit Kundennamen übertragen, die aus Deutschland stammen, gehen Sie wie folgt vor:
SQL Server:
SELECT Kundenname, Land
INTO BestellungenNeu
FROM Bestellungen
WHERE Land = 'Deutschland';
sqlMySQL, PostgreSQL, SQlite:
INSERT INTO BestellungenNeu (Kundenname, Land)
SELECT Kundenname, Land
FROM Bestellungen
WHERE Land = 'Deutschland';
sqlAlternativen zu SQL SELECT INTO
Für das Kopieren und Übertragen von Daten zwischen Tabellen gibt es zusätzlich zu SELECT INTO
noch weitere Optionen. Wir stellen die wichtigsten davon kurz vor:
-
INSERT INTO SELECT
: Mit SQL INSERT INTO SELECT kopieren und übertragen Sie ausgewählte Datensätze oder Ergebnisse in Kombination mitSELECT
aus einer Tabelle in eine bereits bestehende Tabelle. Der Unterschied liegt in der Tatsache, dass sich mitSELECT INTO
für das Kopieren und Übertragen eine neue Tabelle erstellen lässt. -
CREATE TABLE AS
: Mit der Anweisung SQL CREATE TABLE können Sie eine neue Tabelle erstellen. In Verbindung mit SQL SELECT und AS können Sie zusätzlich definieren, dass die neue Tabelle auf den Ergebnissen derSELECT
-Anweisung basieren und somit ausgewählte Daten einer bestehenden Tabelle enthalten soll. -
UNION
oderUNION ALL
: Mit dem Operator SQL UNION vereinen Sie Datensätze ausgewählter Tabellen und Spalten in einer neuen Ausgabetabelle ohne Duplikate. In Kombination mit dem logischen Operator ALL legen Sie fest, dass hierbei alle Datensätze einer Tabelle inklusive Duplikate zu berücksichtigen sind. -
IMPORT TABLE
: Die AnweisungIMPORT TABLE
eignet sich nur, wenn Sie Datensätze aus externen Tabellen und Dateien in eine Tabelle importieren möchten. Die Anweisung steht vor allem in neueren SQL-Versionen zur Auswahl. -
LOAD DATA INFILE
: Die Anweisung funktioniert im Grunde wieIMPORT TABLE
, bietet jedoch eine flexiblere, wenn auch komplexere Anwendung und mehr unterstützte Formate für externe Datenquellen. Sie ist zudem in allen SQL-Versionen verfügbar.