UPDATE
Daten ändern
Wozu dient UPDATE?
Mit UPDATE änderst du bestehende Zeilen in einer Tabelle. Du legst mit SET fest, welche Spalten welche neuen Werte bekommen, und mit WHERE, welche Zeilen betroffen sind.
Syntax
UPDATE tabelle SET spalte1 = wert1, spalte2 = wert2 WHERE bedingung;
Beispiel
Die Stadt von Kunde 1 korrigieren:
UPDATE Kunden SET Stadt = 'Potsdam' WHERE KundenID = 1;
Mehrere Spalten gleichzeitig
Mehrere Zuweisungen werden mit Komma getrennt:
UPDATE Kunden SET Stadt = 'Potsdam', Umsatz = 13000 WHERE KundenID = 1;
Mit Berechnung
Du kannst den neuen Wert aus dem alten berechnen, z. B. alle deutschen Umsätze um 10 % erhöhen:
UPDATE Kunden SET Umsatz = Umsatz * 1.10 WHERE Land = 'DE';
WICHTIG: WHERE nicht vergessen!
Das ist die gefährlichste Stolperfalle in SQL. Ohne WHERE ändert UPDATE alle Zeilen der Tabelle:
-- FALSCH: setzt die Stadt JEDES Kunden auf 'Potsdam'! UPDATE Kunden SET Stadt = 'Potsdam';
Tipps, um Unfälle zu vermeiden:
- Schreibe erst ein
SELECTmit demselbenWHEREund prüfe, welche Zeilen du triffst. - Manche Tools (z. B. MySQL Workbench im „Safe Update Mode“) verweigern ein
UPDATEohneWHERE. - Arbeite bei wichtigen Daten in einer Transaktion, damit du mit
ROLLBACKzurück kannst.
Dialekt-Hinweis
Updates über mehrere Tabellen hinweg (mit JOIN) schreibt jedes System etwas anders. Die einfache Form UPDATE … SET … WHERE … ist aber überall gleich.
Was passiert bei UPDATE ohne WHERE?