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
  • UPDATE gibt an, welche Tabelle betroffen ist
  • SET legt fest, welche Spalte auf welchen Wert gesetzt wird
  • WHERE schrä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.