SQL_LEVEL_5_SOLUTION - OnlyCook/abitur-elite-code GitHub Wiki
Level S5 – Musterlösung: Daten Einfügen (INSERT)
Lösung
INSERT INTO Schueler (id, name, klasse) VALUES (10, 'Leon', 12)
Erklärung
INSERT INTO – Neue Zeilen einfügen
Bisher haben alle Abfragen nur Daten gelesen. Mit INSERT INTO fügst du zum ersten Mal aktiv Daten in eine Tabelle ein.
Die grundlegende Syntax sieht so aus:
INSERT INTO Tabellenname (spalte1, spalte2, ...) VALUES (wert1, wert2, ...)
Die Spaltenliste in den ersten Klammern gibt an, welche Spalten du befüllen möchtest. Die VALUES-Liste dahinter enthält die dazugehörigen Werte – in derselben Reihenfolge.
Warum die Spalten explizit angeben?
Technisch funktioniert auch diese Kurzform:
INSERT INTO Schueler VALUES (10, 'Leon', 12)
Hier werden einfach alle Werte der Reihe nach eingetragen, so wie die Spalten in der Tabelle definiert sind. Das ist kürzer, aber fehleranfälliger – wenn du die Reihenfolge falsch im Kopf hast oder die Tabelle später geändert wird, können Werte an der falschen Stelle landen.
Die explizite Variante mit Spaltenliste ist deshalb empfehlenswerter und wird im Abitur klar bevorzugt.
Strings vs. Zahlen
Ein wichtiger Unterschied beim Einfügen von Werten:
- Textwerte (Strings) müssen in einfachen Anführungszeichen stehen:
'Leon' - Zahlen werden ohne Anführungszeichen geschrieben:
10,12
Das gilt genauso wie bei WHERE-Bedingungen, die du aus den vorherigen Leveln bereits kennst.
Was passiert in der Datenbank?
Nach dem Ausführen enthält die Tabelle Schueler einen neuen Eintrag:
| id | name | klasse |
|---|---|---|
| 1 | Max | 11 |
| 10 | Leon | 12 |
Die bereits vorhandenen Zeilen bleiben unverändert – INSERT INTO fügt immer nur hinzu, es überschreibt nichts.