SQL_LEVEL_6_SOLUTION - OnlyCook/abitur-elite-code GitHub Wiki
Level S6 – Musterlösung: Daten Ändern (UPDATE)
Lösung
UPDATE Schueler
SET klasse = 13
WHERE id = 1
Erklärung
UPDATE – Bestehende Daten ändern
Mit UPDATE veränderst du Werte, die bereits in der Tabelle stehen. Die Syntax besteht aus drei Teilen:
UPDATE Tabellenname
SET spalte = neuerWert
WHERE Bedingung
UPDATEgibt an, welche Tabelle betroffen istSETlegt fest, welche Spalte auf welchen Wert gesetzt wirdWHEREschränkt ein, welche Zeilen verändert werden sollen
Warum WHERE hier besonders wichtig ist
In der Tabelle gibt es zwei Schüler namens 'Max'. Eine Bedingung wie WHERE name = 'Max' würde also beide treffen – obwohl wir nur einen davon ändern wollen.
| id | name | klasse |
|---|---|---|
| 1 | Max | 12 |
| 2 | Lisa | 11 |
| 3 | Max | 12 |
Deshalb filtert man am besten immer über den Primärschlüssel (id), denn der ist pro Zeile garantiert eindeutig. Mit WHERE id = 1 wird exakt nur die erste Zeile geändert.
Der gefährlichste SQL-Befehl für Anfänger
UPDATE ohne WHERE verändert alle Zeilen der Tabelle auf einmal:
-- Vorsicht: Setzt die Klasse ALLER Schüler auf 13!
UPDATE Schueler
SET klasse = 13
Das passiert ohne Warnung und lässt sich nicht einfach rückgängig machen. Gewöhne dir deshalb von Anfang an an, bei jedem UPDATE zuerst die WHERE-Klausel zu schreiben.