Mit MariaDB UPDATE ändern Sie vorhandene Daten in einer Tabelle. So sorgen Sie für konsistente und aktuelle Informationen 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 Unterschied zu Befehlen wie INSERT oder DELETE passt UPDATE bestehende Daten an, ohne neue Zeilen zu erzeugen oder bestehende zu entfernen. Damit eignet sich der Befehl für alle Situationen, in denen sich Daten regelmäßig ändern, aber die zugrunde liegenden Strukturen gleichbleiben.

In datenbankgestützten Anwendungen kommt UPDATE häufig im Hintergrund zum Einsatz, zum Beispiel beim Bearbeiten von Benutzerprofilen oder beim Fortschreiben von Transaktionsdaten. Typische Einsatzszenarien sind das Korrigieren von Fehleingaben, das Aktualisieren von Lagerbeständen oder das Setzen von Statuswerten in einem Bestellprozess. Entscheidend ist dabei, dass Sie genau bestimmen, welche Spalten angepasst werden sollen. Andernfalls wirkt sich die Änderung auf die gesamte Tabelle aus. Aus diesem Grund gehört eine präzise Filterung bei UPDATE zum Alltag jeder sicheren Datenpflege.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support

Syntax des UPDATE-Befehls

Die grundlegende Syntax des MariaDB UPDATE-Befehls besteht aus drei Teilen: der Angabe der Tabelle, dem SET-Teil mit den zu ändernden Spalten sowie einer optionalen WHERE-Klausel, um die betroffenen Zeilen einzugrenzen.

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

Parameter und Argumente im UPDATE-Befehl

Der UPDATE-Befehl in MariaDB akzeptiert mehrere Parameter, mit denen Sie genau steuern, welche Daten geändert werden sollen und in welcher Form. Zu den wichtigsten Bestandteilen gehören der Tabellenname, 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 Funktionen oder Rechenoperationen verwenden, zum Beispiel SET views = views + 1.
  • WHERE: Filtert die betroffenen 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änderten Zeilen, zum Beispiel auf die ersten fünf Treffer.
  • JOIN-Klauseln: In komplexeren Szenarien können Sie UPDATE mit dem Befehl JOIN kombinieren, um Daten aus mehreren Tabellen zu verarbeiten. Diese Variante erlaubt bedingte Änderungen basierend auf verknüpften Tabelleninhalten.
  • SUBSELECT oder Unterabfragen: Sie können in der SET- oder WHERE-Klausel auch Unterabfragen verwenden, um dynamische Werte aus anderen Tabellen zu übernehmen.
  • Funktionen und Operatoren: Innerhalb von SET können Sie Funktionen, Rechenoperationen, Bedingungen (IF()) oder Verkettungen (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 fehlerhafte Einträge korrigieren, sich verändernde Informationen anpassen oder automatisch neue Werte setzen, sobald sich der Status eines Prozesses ändert. Im Folgenden erklären wir Ihnen praxisnahe Beispiele zur Verwendung von UPDATE.

Einen einzelnen Wert aktualisieren

Die WHERE-Klausel stellt sicher, dass nur ein bestimmter 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 gleichzeitig ändern

Hier passen wir sowohl den Preis (price) als auch den Lagerbestand 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 aktualisieren

Diese Abfrage setzt den Status aller Bestellungen auf „shipped“, bei denen ein Versanddatum vorhanden ist und der Status noch auf „processing“ steht.

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

Nur eine bestimmte Anzahl von Zeilen ändern

Hier deaktivieren 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, Bedingungen direkt innerhalb des SET-Abschnitts zu formulieren. MariaDB prüft im folgenden Beispiel den Preis jedes Produkts. Wenn der Preis über 100 liegt, setzt sie den Rabatt (discount) auf 15 Prozent, andernfalls auf 5 Prozent.

UPDATE products
SET discount = IF(price > 100, 0.15, 0.05);
sql
Managed Database Services
Datenbanken – Auf´s Wesentliche konzentrieren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
  • Rechenzentren in Deutschland: Ihre Daten sind sicher
War dieser Artikel hilfreich?
Zum Hauptmenü