Mit MariaDB UPDATE ändern Sie vor­han­de­ne Daten in einer Tabelle. So sorgen Sie für kon­sis­ten­te und aktuelle In­for­ma­tio­nen in Ihrer Datenbank.

Was macht der MariaDB UPDATE-Befehl?

Der UPDATE-Befehl in MariaDB verändert Werte in einer oder mehreren Spalten einer Tabelle. Im Un­ter­schied zu Befehlen wie INSERT oder DELETE passt UPDATE be­stehen­de Daten an, ohne neue Zeilen zu erzeugen oder be­stehen­de zu entfernen. Damit eignet sich der Befehl für alle Si­tua­tio­nen, in denen sich Daten re­gel­mä­ßig ändern, aber die zugrunde liegenden Struk­tu­ren gleich­blei­ben.

In da­ten­bank­ge­stütz­ten An­wen­dun­gen kommt UPDATE häufig im Hin­ter­grund zum Einsatz, zum Beispiel beim Be­ar­bei­ten von Be­nut­zer­pro­fi­len oder beim Fort­schrei­ben von Trans­ak­ti­ons­da­ten. Typische Ein­satz­sze­na­ri­en sind das Kor­ri­gie­ren von Fehl­ein­ga­ben, das Ak­tua­li­sie­ren von La­ger­be­stän­den oder das Setzen von Sta­tus­wer­ten in einem Be­stell­pro­zess. Ent­schei­dend ist dabei, dass Sie genau bestimmen, welche Spalten angepasst werden sollen. An­dern­falls wirkt sich die Änderung auf die gesamte Tabelle aus. Aus diesem Grund gehört eine präzise Filterung bei UPDATE zum Alltag jeder sicheren Da­ten­pfle­ge.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kos­ten­güns­ti­ge vCPUs und leis­tungs­star­ke de­di­zier­te Cores
  • Höchste Fle­xi­bi­li­tät ohne Min­dest­ver­trags­lauf­zeit
  • Inklusive 24/7 Experten-Support

Syntax des UPDATE-Befehls

Die grund­le­gen­de Syntax des MariaDB UPDATE-Befehls besteht aus drei Teilen: der Angabe der Tabelle, dem SET-Teil mit den zu ändernden Spalten sowie einer op­tio­na­len WHERE-Klausel, um die be­trof­fe­nen Zeilen ein­zu­gren­zen.

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;
sql

Parameter und Argumente im UPDATE-Befehl

Der UPDATE-Befehl in MariaDB ak­zep­tiert mehrere Parameter, mit denen Sie genau steuern, welche Daten geändert werden sollen und in welcher Form. Zu den wich­tigs­ten Be­stand­tei­len gehören der Ta­bel­len­na­me, SET, WHERE, ORDER BY und LIMIT.

  • table_name: Name der Tabelle, in der Sie Daten ändern möchten.
  • SET: Definiert eine oder mehrere Spalten, die neue Werte erhalten. Sie können auch Funk­tio­nen oder Re­chen­ope­ra­tio­nen verwenden, zum Beispiel SET views = views + 1.
  • WHERE: Filtert die be­trof­fe­nen Zeilen anhand einer Bedingung. Ohne WHERE ändert MariaDB alle Zeilen der Tabelle.
  • ORDER BY: Sortiert die Zeilen vor dem Update. Das ist besonders relevant, wenn Sie LIMIT einsetzen.
  • LIMIT: Begrenzen Sie die Anzahl der ge­än­der­ten Zeilen, zum Beispiel auf die ersten fünf Treffer.
  • JOIN-Klauseln: In kom­ple­xe­ren Szenarien können Sie UPDATE mit dem Befehl JOIN kom­bi­nie­ren, um Daten aus mehreren Tabellen zu ver­ar­bei­ten. Diese Variante erlaubt bedingte Än­de­run­gen basierend auf ver­knüpf­ten Ta­bel­len­in­hal­ten.
  • SUBSELECT oder Un­ter­ab­fra­gen: Sie können in der SET- oder WHERE-Klausel auch Un­ter­ab­fra­gen verwenden, um dy­na­mi­sche Werte aus anderen Tabellen zu über­neh­men.
  • Funk­tio­nen und Ope­ra­to­ren: Innerhalb von SET können Sie Funk­tio­nen, Re­chen­ope­ra­tio­nen, Be­din­gun­gen (IF()) oder Ver­ket­tun­gen (CONCAT()) einsetzen, um Inhalte dynamisch zu erzeugen.

Beispiele für den Einsatz von MariaDB UPDATE

Der UPDATE-Befehl in MariaDB kommt in vielen realen Szenarien zur Anwendung. Sie können damit feh­ler­haf­te Einträge kor­ri­gie­ren, sich ver­än­dern­de In­for­ma­tio­nen anpassen oder au­to­ma­tisch neue Werte setzen, sobald sich der Status eines Prozesses ändert. Im Folgenden erklären wir Ihnen pra­xis­na­he Beispiele zur Ver­wen­dung von UPDATE.

Einen einzelnen Wert ak­tua­li­sie­ren

Die WHERE-Klausel stellt sicher, dass nur ein be­stimm­ter Datensatz betroffen ist. In diesem Beispiel ändern wir die E-Mail-Adresse des Kunden mit der ID „42“.

UPDATE customers
SET email = 'new.email@example.com'
WHERE customer_id = 42;
sql

Mehrere Spalten gleich­zei­tig ändern

Hier passen wir sowohl den Preis (price) als auch den La­ger­be­stand eines Produkts an. In der Spalte stock wird der aktuelle Wert um 1 reduziert, etwa nach einem Verkauf.

UPDATE products
SET price = 19.99, stock = stock - 1
WHERE product_id = 1001;
sql

Werte für mehrere Zeilen ak­tua­li­sie­ren

Diese Abfrage setzt den Status aller Be­stel­lun­gen auf „shipped“, bei denen ein Ver­sand­da­tum vorhanden ist und der Status noch auf „pro­ces­sing“ steht.

UPDATE orders
SET status = 'shipped'
WHERE shipping_date IS NOT NULL AND status = 'processing';
sql

Nur eine bestimmte Anzahl von Zeilen ändern

Hier de­ak­ti­vie­ren wir in MariaDB die 100 Benutzer mit dem ältesten Login. Durch ORDER BY und LIMIT lässt sich steuern, welche Zeilen bevorzugt geändert werden.

UPDATE users
SET active = 0
ORDER BY last_login ASC
LIMIT 100;
sql

MariaDB UPDATE mit IF()-Bedingung

Die Funktion IF() erlaubt es uns, Be­din­gun­gen direkt innerhalb des SET-Ab­schnitts zu for­mu­lie­ren. MariaDB prüft im folgenden Beispiel den Preis jedes Produkts. Wenn der Preis über 100 liegt, setzt sie den Rabatt (discount) auf 15 Prozent, an­dern­falls auf 5 Prozent.

UPDATE products
SET discount = IF(price > 100, 0.15, 0.05);
sql
Managed Database Services
Da­ten­ban­ken – Auf´s We­sent­li­che kon­zen­trie­ren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maß­ge­schnei­der­te Datenbank-Lösungen ganz auf Ihre Be­dürf­nis­se
  • Re­chen­zen­tren in Deutsch­land: Ihre Daten sind sicher
Zum Hauptmenü