SQL - INSERT-Abfrage: Ein Anfängerleitfaden

Hallo da draußen, zukünftige Datenbank-Zauberer! Heute begeben wir uns auf eine aufregende Reise in die Welt der SQL INSERT-Abfragen. Als dein freundlicher Nachbarschafts-Computerlehrer bin ich hier, um dich durch dieses grundlegende Konzept zu führen, das dir helfen wird, deine Datenbanken mit wertvollen Informationen zu füllen. Also, hol dir eine Tasse Kaffee (oder Tee, wenn das dein Ding ist) und tauchen wir ein!

SQL - Insert Query

Die SQL INSERT INTO Anweisung

Was ist eine INSERT-Anweisung?

Stell dir vor, du hast eine wunderschön gestaltete Datenbanktabelle, aber sie ist leer. Wie traurig! Genau hier kommt die INSERT-Anweisung zur Rettung. Es ist wie ein magischer Zauber, der es uns ermöglicht, neue Datensätze (Zeilen) in unsere Tabellen hinzuzufügen.

Grundlegende Syntax

Die grundlegende Syntax einer INSERT-Anweisung sieht so aus:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Lassen wir das auseinanderfallen:

  • INSERT INTO sagt SQL, dass wir neue Daten hinzufügen möchten
  • table_name ist die Tabelle, in die du Daten hinzufügst
  • Die Spalten in Klammern sind diejenigen, die du füllen möchtest
  • Das Schlüsselwort VALUES führt die tatsächlichen Daten ein, die du einfügst

Beispiel 1: Einfügen eines einzelnen Datensatzes

Angenommen, wir haben eine Tabelle namens students mit den Spalten: id, name und age. So könnten wir einen neuen Schüler hinzufügen:

INSERT INTO students (id, name, age)
VALUES (1, 'John Doe', 20);

Dies fügt eine neue Zeile in unsere students-Tabelle mit der ID 1, dem Namen "John Doe" und dem Alter 20 hinzu.

Beispiel 2: Einfügen mehrerer Datensätze

Möchtest du mehrere Schüler auf einmal hinzufügen? Kein Problem! Das können wir auch:

INSERT INTO students (id, name, age)
VALUES
(2, 'Jane Smith', 22),
(3, 'Bob Johnson', 21),
(4, 'Alice Brown', 23);

Diese einzelne Abfrage fügt drei neue Schüler in unsere Tabelle hinzu. Effizient, oder?

Einfügen von Daten in eine Tabelle aus einer anderen Tabelle

Manchmal möchtest du Daten von einer Tabelle in eine andere kopieren. SQL macht das super einfach!

Syntax

Die Syntax zum Einfügen von Daten aus einer anderen Tabelle sieht so aus:

INSERT INTO table1 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table2
WHERE condition;

Beispiel 3: Kopieren von Daten zwischen Tabellen

Angenommen, wir haben eine Tabelle namens honor_roll und wir möchten alle Schüler, die 21 oder älter sind, aus unserer students-Tabelle hinzufügen:

INSERT INTO honor_roll (student_id, student_name)
SELECT id, name
FROM students
WHERE age >= 21;

Diese Abfrage kopiert die id und den name aller Schüler, die 21 oder älter sind, aus der students-Tabelle in die honor_roll-Tabelle.

Daten nur in angegebene Spalten einfügen

Manchmal musst du nicht alle Spalten beim Einfügen von Daten füllen. SQL ist flexibel genug, um das zu handhaben!

Beispiel 4: Einfügen von Teil-Daten

Nehmen wir an, wir fügen einen neuen Schüler hinzu, aber wir wissen nicht ihr Alter:

INSERT INTO students (id, name)
VALUES (5, 'Eva Green');

In diesem Fall wird die age-Spalte für Eva mit einem NULL-Wert (oder einem Standardwert, wenn einer in der Tabellendefinition angegeben ist) gefüllt.

Beispiel 5: Verwenden von Standardwerten

Wenn deine Tabelle Standardwerte für bestimmte Spalten definiert hat, kannst du sie explizit verwenden:

INSERT INTO students (id, name, age)
VALUES (6, 'Frank White', DEFAULT);

Dies setzt voraus, dass die age-Spalte einen Standardwert in der Tabellenstruktur definiert hat.

Profi-Tipps und Best Practices

  1. Liste immer deine Spalten auf: Auch wenn du Werte für alle Spalten einfügst, macht das explizite Aufzählen deinen Code lesbarer und weniger anfällig für Fehler.

  2. Verwende Transaktionen: Beim Einfügen mehrerer Zeilen, wrapp deine INSERT-Anweisungen in eine Transaktion. Dies stellt sicher, dass entweder alle Inserts erfolgreich sind oder none.

  3. Validiere deine Daten: Bevor du einfügst, stelle sicher, dass deine Daten den Anforderungen deiner Tabelle entsprechen (Datentypen, Constraints, etc.).

  4. Sei vorsichtig mit Auto-Inkrement-Spalten: Wenn eine Spalte auto-inkrementiert (wie oft eine ID-Spalte), musst du normalerweise keinen Wert für sie in deiner INSERT-Anweisung angeben.

Häufige INSERT-Methoden

Hier ist eine praktische Tabelle, die die INSERT-Methoden zusammenfasst, die wir besprochen haben:

Methode Beschreibung Beispiel
Basic INSERT Fügt eine einzelne Zeile mit angegebenen Werten ein INSERT INTO table (col1, col2) VALUES (val1, val2);
Multi-row INSERT Fügt mehrere Zeilen in einem Statement ein INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4);
INSERT mit SELECT Kopiert Daten von einer Tabelle in eine andere INSERT INTO table1 SELECT col1, col2 FROM table2 WHERE condition;
Teil-INSERT Fügt Daten nur in angegebene Spalten ein INSERT INTO table (col1) VALUES (val1);
INSERT mit DEFAULT Verwendet Standardwerte für einige Spalten INSERT INTO table (col1, col2) VALUES (val1, DEFAULT);

Und da hast du es, meine neugierigen Lernenden! Du hast gerade deine ersten Schritte in die Welt der SQL INSERT-Abfragen unternommen. Denke daran, Übung macht den Meister, also habe keine Angst, diese Konzepte auszuprobieren. Bereit zum Coden und möge deine Datenbanken immer perfekt gefüllt sein!

Credits: Image by storyset