Direkt zum Inhalt

Einfügen in SQL Tutorial

Mit der SQL-Anweisung "INSERT INTO" kannst du Datenzeilen zu einer Tabelle in der Datenbank hinzufügen.
Aktualisierte 16. Jan. 2025  · 3 Min. Lesezeit

Syntax

Im Folgenden wird der normale Anwendungsfall für "INSERT INTO" beschrieben, bei dem du Werte manuell einfügst. Es folgen der Tabellenname und eine optionale Liste von Spalten, die mit den Daten gefüllt werden sollen. Dann folgt das Schlüsselwort "VALUES" und die eigentlichen Werte, die du einfügen willst.

INSERT INTO table_name (column_a, column_b)
VALUES ("value_a", "value_b");

INSERT DISTINCT Records INTO New Tables

Um Daten aus einer bestehenden Tabelle in eine neue Tabelle zu kopieren, kannst du das Muster "INSERT INTO SELECT DISTINCT" verwenden. Nach "INSERT INTO" gibst du den Namen der Zieltabelle an - im folgenden Fall organizations.

Dann wählst du die Spalten aus, die aus der Quelltabelle kopiert werden sollen - in diesem Fall unviversity_professors. Du verwendest das Schlüsselwort "DISTINCT", um nur bestimmte Organisationen zu kopieren.

INSERT INTO organizations
SELECT DISTINCT organization,
    organization_sector
FROM university_professors;
Output: INSERT 0 1287

Die obige Ausgabe zeigt, dass nur 1287 Datensätze in die Tabelle "Organisationen" eingefügt werden.

Wenn du hingegen "INSERT INTO SELECT" ohne das Schlüsselwort "DISTINCT" verwendest, werden auch doppelte Datensätze übernommen.

INSERT INTO organizations
SELECT organization,
    organization_sector
FROM university_professors;
Output: INSERT 0 1377

Daten in eine neue Tabelle migrieren

Lass uns die Daten in neue Tabellen migrieren. Du wirst das folgende Muster verwenden:

INSERT INTO ...
SELECT DISTINCT ...
FROM ...;

Sie kann in zwei Teile aufgeteilt werden:

Erster Teil:

SELECT DISTINCT column_name1, column_name2, ...
FROM table_a;

Damit werden alle eindeutigen Werte in der Tabelle table_a ausgewählt - nichts Neues für dich.

-- Insert unique professors into the new table
INSERT INTO professors
SELECT DISTINCT firstname, lastname, university_shortname
FROM university_professors;

-- Doublecheck the contents of professors
SELECT *
FROM professors;

Zweiter Teil:

INSERT INTO table_b ...;

Nimm diesen Teil und hänge ihn an den ersten an, sodass er alle eindeutigen Zeilen von table_a in table_b einfügt.

Eine letzte Sache: Es ist wichtig, dass du den gesamten Code gleichzeitig ausführst, sobald du die Felder ausgefüllt hast.

-- Insert unique affiliations into the new table
INSERT INTO affiliations
SELECT DISTINCT firstname, lastname, function, organization
FROM university_professors;

-- Doublecheck the contents of affiliations
SELECT *
FROM affiliations;

Probiere es selbst aus.

Um mehr über relationale Datenbanken in SQL zu erfahren, schau dir dieses Video aus unserem Kurs Einführung in relationale Datenbanken in SQL an.

Dieser Inhalt stammt aus dem DataCamp-Kurs Einführung in relationale Datenbanken in SQL von Timo Grossenbacher.

Themen

Weitere Kurse zu Datenbanken und SQL

Zertifizierung verfügbar

Kurs

Einführung in relationale Datenbanken in SQL

4 hr
154.7K
Lerne, wie du eine der effizientesten Arten der Datenspeicherung erstellst - relationale Datenbanken!
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow