UPDATE Statements - Data Manipulation Language (SQL-DML)
https://oer-informatik.de/sql-dml-update
tl/dr; Update-Statements ändern den Inhalt von selektierten Datensätzen. Die Werte können aus Literalen, Subqueries oder Formeln stammen. (zuletzt aktualisiert am 21.05.2023)
Ein Update-Befehl besteht aus vier Komponenten, wobei die letzte Zeile optional ist:
Im Einzelnen:
Schlüsselwort
UPDATE
,tableName
: der Name der zu ändernden Tabellenach dem Schlüsselwort
SET
die Zuweisungsbeziehung (columnName = value
), die ausgeführt werden soll. Sollten mehrere Zuweisungen durchgeführt werden, werden diese kommagetrennt aneinandergefügt.optional die Selektion (
WHERE
), bei welchen Datensätzen die Zuweisung durchgeführt werden soll. Einstellungen des DBMS oder Frontends können hier verlangen, dass einkey
-Attribut imWHERE
-Clause genannt wird (safe mode).

Der Name der Tabelle, der Name des zu aktualisierenden Attributs, der neue Wert des Attributs und eine Bedingung, für welche Datensätze die Änderung erfolgen soll (Selektion).
Es können mehrere Attribute zeitgleich aktualisiert werden, wenn die key/value-Paare kommagetrennt gelistet werden:
Vorsicht: wenn die Bedingung weggelassen wird, wird die Änderung für alle Datensätze übernommen. Das ist jedoch nur in den wenigsten Fällen gewünscht.
Daher empfiehlt es sich bei händischer Bearbeitung der Datenbank immer den WHERE
-Clause einmal vorneweg mit einem SELECT
-Statement zu überprüfen.
Beispiel: es sollen alle Datensätze mit dem Schreibfehler ‘Mcihael’ angepasst werden. Welche Zeilen sind betroffen?
Das SELECT * FROM
wird dann durch UPDATE
ersetzt, danach der SET
-Clause eingefügt:
Auf diese Art lassen sich einfach Fehler bei händischer Anpassung vermeiden.
Als zu aktualisierender Wert in Update-Befehlen können auch Single-Row-Subquery-Ergebnisse verwendet werden.
Sofern als Wert eines Updates der ursprüngliche DEFAULT-Wert genutzt werden soll, kann dies ebenso explizit angegeben werden:
Die Zuweisung kann auch selbstreferenziell erfolgen. Eine Preiserhöhung um 10% lässt sich also folgendermaßen umsetzen:
Links und weitere Informationen
Hinweis zur Nachnutzung als Open Educational Resource (OER)
Dieses Werk und dessen Inhalte sind - sofern nicht angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “UPDATE Statements - Data Manipulation Language (SQL-DML)” von H. Stein (oer-informatik.de), Lizenz: CC BY 4.0. Die Quellen dieses Werks sind verfügbar auf https://gitlab.com/oer-informatik/db-sql/dml-basics.