MySQL UPDATE-Abfrage mit Beispiel

⚡ Intelligente Zusammenfassung

MySQL Die UPDATE-Abfrage ändert vorhandene Zeilen in einer Tabelle, indem sie ein oder mehrere Felder mit einer einzigen Anweisung ändert. Diese Ressource erklärt die UPDATE-Syntax, die WHERE-Filterung, zeigt Anwendungsbeispiele anhand der Tabelle „members“ und erläutert die Sicherheitsvorkehrungen, die unbeabsichtigte Massenaktualisierungen verhindern.

  • Kernaussage: UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition] überschreibt die Werte in jeder Zeile, die dem Filter entspricht.
  • ⚠️ Ausgelassen WO: Ohne eine WHERE-Klausel überschreibt die UPDATE-Anweisung die Spalte in jeder Zeile der Tabelle.
  • 🔢 Wertformatierung: Zeichenketten und Datumswerte müssen in einfache Anführungszeichen gesetzt werden, numerische Werte nicht, und Datumsangaben folgen dem Format „JJJJ-MM-TT“.
  • 🧩 Mehrere Spalten: Um mehrere Felder in einer Anweisung zu aktualisieren, trennen Sie die einzelnen Zuweisungen durch Kommas.
  • 🔍 Verifizierungsschritt: Führen Sie die WHERE-Klausel zuerst als SELECT-Anweisung aus und wiederholen Sie sie anschließend nach der UPDATE-Anweisung, um die neuen Werte zu bestätigen.
  • 🛡️ Sicherer Update-Modus: MySQL Workbench lehnt alle UPDATE-Anweisungen ab, deren WHERE-Klausel nicht nach einer Schlüsselspalte filtert.

Was ist die UPDATE-Abfrage?

Das AKTUALISIEREN MySQL Der Befehl dient zum Ändern von Zeilen in einer Tabelle. Die UPDATE-Abfrage kann ein einzelnes Feld oder mehrere Felder gleichzeitig ändern. Sie kann auch zum Aktualisieren einer Tabelle verwendet werden. MySQL Tabelle mit Werten aus einer anderen Tabelle.

Warum die UPDATE-Abfrage verwenden? MySQL?

Daten bleiben selten ewig korrekt. Mitglieder ändern ihre Telefonnummern, Preise ändern sich und Bestellungen wechseln vom Status „Ausstehend“ zum Status „Versendet“. Das Löschen der alten Zeile und das Einfügen einer neuen würde den Primärschlüssel und alle Fremdschlüsselbeziehungen beschädigen. Die UPDATE-Anweisung bearbeitet die Zeile direkt, sodass Identitäten und Beziehungen erhalten bleiben.

Die UPDATE-Abfrage ist immer dann das richtige Werkzeug, wenn:

  • Ein Wert ist falsch oder veraltet: Einen falsch geschriebenen Namen korrigieren oder eine Kontaktnummer aktualisieren, ohne den Rest des Datensatzes zu verändern.
  • Ein Status muss sich weiterentwickeln: Eine Bestellung kann von „ausstehend“ auf „versendet“ geändert werden, indem eine einzelne Spalte neu geschrieben wird.
  • Mehrere Felder verändern sich gleichzeitig: Mit einer einzigen Anweisung können ein neuer Name und eine neue Adresse im selben Durchlauf festgelegt werden.
  • Eine Massenkorrektur ist erforderlich: Eine WHERE-Klausel, die auf mehrere Zeilen zutrifft, wendet die gleiche Bearbeitung auf alle Zeilen gleichzeitig an.

Da ein UPDATE ohne WHERE-Klausel jede Zeile neu schreibt, trennt der Filter eine routinemäßige Korrektur von einem versehentlichen Überschreiben.

MySQL Befehlssyntax aktualisieren

Nachdem der Zweck festgelegt ist, folgt als nächstes die Syntax. Die Grundform der UPDATE-Abfrage in MySQL wird unten gezeigt.

UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];

HIER:

  • UPDATE `table_name` ist der Befehl, der es sagt MySQL Die Daten in einer Tabelle ändern.
  • SET `column_name` = 'new_value' Gibt die Namen und Werte der Felder an, die von der UPDATE-Abfrage betroffen sein sollen. Beim Festlegen der Werte müssen Zeichenketten in einfache Anführungszeichen gesetzt werden. Numerische Werte benötigen keine Anführungszeichen. Datumswerte müssen in einfache Anführungszeichen und im Format „JJJJ-MM-TT“ angegeben werden.
  • [WHERE-Bedingung] ist optional und kann verwendet werden, um einen Filter anzuwenden, der die Anzahl der von der UPDATE-Abfrage betroffenen Zeilen einschränkt. Die vollständige Optionsliste finden Sie in der MySQL UPDATE Statement Handbuch.

Schauen wir uns nun ein praktisches Beispiel an, das Daten in der Mitgliedertabelle aktualisiert.

Aktualisieren Sie in MySQL Beispiel

Angenommen, bei den Mitgliedern mit den Mitgliedsnummern 1 und 2 sollen die folgenden Aktualisierungen an ihren Datensätzen vorgenommen werden.

Mitgliedsnummer Aktualisierungen erforderlich
1 Ändern Sie die Kontaktnummer von 999 auf 0759 253 532
2 Ändern Sie den Namen in Janet Smith Jones und aktualisieren Sie die Adresse auf Melrose 123.

Aktualisieren einer einzelnen Spalte

Wir beginnen mit Mitgliedsnummer 1. Bevor wir Änderungen vornehmen, rufen wir diesen Datensatz ab.

SELECT * FROM `members` WHERE `membership_number` = 1;

Die Ausführung des obigen Skripts führt zu den folgenden Ergebnissen.

Mitgliedsnummer ganze Namen Geschlecht Geburtsdatum physikalische Adresse Postanschrift Kontaktnummer E-Mail
1 Janet Jones Weiblich 21-07-1980 Erstes Straßengrundstück Nr. 4 Private Tasche 999 janetjones@yagoo.cm

Lassen Sie uns nun die Kontaktnummer mit dem unten gezeigten Skript aktualisieren.

UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;

Durch Ausführen des obigen Skripts wird die Kontaktnummer für Mitgliedsnummer 1 von 999 auf 0759 253 532 geändert. Ein erneutes Ausführen der SELECT-Anweisung bestätigt den neuen Wert.

Mitgliedsnummer ganze Namen Geschlecht Geburtsdatum physikalische Adresse Postanschrift Kontaktnummer E-Mail
1 Janet Jones Weiblich 21-07-1980 Erstes Straßengrundstück Nr. 4 Private Tasche 0759 253 532 janetjones@yagoo.cm

Mehrere Spalten aktualisieren

Bei Mitgliedsnummer 2 müssen zwei Felder gleichzeitig geändert werden. Dies ist der Datensatz vor der Aktualisierung.

Mitgliedsnummer ganze Namen Geschlecht Geburtsdatum physikalische Adresse Postanschrift Kontaktnummer E-Mail
2 Smith Jones Weiblich 23-06-1980 Park Street NULL NULL jj@fstreet.com

Das folgende Skript aktualisiert beide Spalten mit einer einzigen Anweisung. Beachten Sie das Komma, das die beiden Zuweisungen trennt.

UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;

Durch Ausführen des obigen Skripts werden die vollständigen Namen für Mitgliedsnummer 2 in Janet Smith Jones und die physische Adresse in Melrose 123 aktualisiert.

Mitgliedsnummer ganze Namen Geschlecht Geburtsdatum physikalische Adresse Postanschrift Kontaktnummer E-Mail
2 Janet Smith Jones Weiblich 23-06-1980 Melrose 123 NULL NULL jj@fstreet.com

💡 Tipp: Die vollständigeWHERE-KlauselDie Angabe „“ begrenzt die Anzahl der von der UPDATE-Abfrage betroffenen Zeilen. Wird sie weggelassen, wird jede Zeile in der Tabelle überschrieben.

Häufig gestellte Fragen

MySQL Die Funktion gibt die Anzahl der übereinstimmenden und der geänderten Zeilen zurück. „Übereinstimmende Zeilen“ zeigt an, wie viele Zeilen die WHERE-Klausel ausgewählt hat, während „Geänderte Zeilen“ Zeilen ausschließt, deren neuer Wert mit dem alten identisch ist.

Ja. Kombinieren Sie UPDATE mit einem JOIN und verweisen Sie in der SET-Klausel auf die zweite Tabelle. Die Join-Bedingung legt fest, welche Quellzeile den neuen Wert für jede Zielzeile liefert.

Schließen Sie die Änderung in eine Transaktion ein. START TRANSACTION gefolgt von ROLLBACK stellt die alten Werte wieder her. Sobald die Änderung festgeschrieben ist, können die vorherigen Daten nur noch durch eine Sicherung wiederhergestellt werden. Testen Sie daher die WHERE-Klausel zuerst mit SELECT.

Ja. KI-Assistenten wandeln eine beschriebene Änderung in UPDATE-Syntax um und schlagen die WHERE-Klausel vor. Geben Sie dem Modell Ihre Tabellenstruktur und überprüfen Sie den Filter mit einer SELECT-Anweisung, bevor Sie die generierte Abfrage ausführen.

Da ein KI-Modell Ihre Live-Zeilen nicht sehen kann, kann eine leicht fehlerhafte WHERE-Klausel Tausende von Datensätzen unbemerkt überschreiben. RevÜberprüfen Sie jede generierte Anweisung, führen Sie sie auf einer Testkopie aus und erstellen Sie eine aktuelle Sicherungskopie.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: