Die MySQL UPDATE Anweisung beherrschen: Syntax, Beispiele und bewährte Verfahren
Takashi Yamamoto
Infrastructure Engineer · Leapcell

Key Takeaways
- Die
UPDATE
-Anweisung modifiziert vorhandene Datensätze in einer Tabelle mithilfe vonSET
und einer optionalenWHERE
-Klausel. - Das Weglassen der
WHERE
-Klausel aktualisiert alle Zeilen. Dies kann gefährlich sein und muss mit Vorsicht verwendet werden. - Das Umschließen von Aktualisierungen in Transaktionen und das Anzeigen von Änderungen mit
SELECT
hilft, unbeabsichtigten Datenverlust zu verhindern.
Die UPDATE
-Anweisung in MySQL ist eine grundlegende Komponente der Data Manipulation Language (DML), die es Ihnen ermöglicht, vorhandene Datensätze innerhalb einer Tabelle zu ändern. Egal, ob Sie Daten korrigieren, Werte anpassen oder Informationen über Tabellen hinweg synchronisieren, die Beherrschung der UPDATE
-Anweisung ist für ein effektives Datenbankmanagement unerlässlich.
Grundlegende Syntax
Die allgemeine Syntax für die UPDATE
-Anweisung lautet:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
table_name
: Der Name der Tabelle, die die Datensätze enthält, die Sie aktualisieren möchten.SET
: Gibt die Spalten an, die aktualisiert werden sollen, und ihre neuen Werte.WHERE
: Filtert die Datensätze, die aktualisiert werden sollen. Das Weglassen dieser Klausel führt dazu, dass alle Datensätze aktualisiert werden, was möglicherweise nicht das beabsichtigte Verhalten ist.
Praktische Beispiele
1. Aktualisieren einer einzelnen Spalte
So aktualisieren Sie eine einzelne Spalte in einer bestimmten Zeile:
UPDATE employees SET salary = 50000 WHERE employee_id = 1234;
Dieser Befehl setzt das salary
für den Mitarbeiter mit einer employee_id
von 1234 auf 50.000.
2. Aktualisieren mehrerer Spalten
So aktualisieren Sie mehrere Spalten gleichzeitig:
UPDATE products SET price = 19.99, stock = stock - 1 WHERE product_id = 5678;
Dies aktualisiert den price
auf 19.99 und verringert den stock
um 1 für das Produkt mit der product_id
5678.
3. Aktualisieren ohne WHERE
-Klausel
Seien Sie vorsichtig, wenn Sie die WHERE
-Klausel weglassen:
UPDATE customers SET status = 'inactive';
Dieser Befehl setzt den status
für alle Datensätze in der Tabelle customers
auf 'inactive'.
Erweiterte Nutzung
1. Aktualisieren mit einem Join
Sie können Datensätze basierend auf einem Join mit einer anderen Tabelle aktualisieren:
UPDATE orders JOIN customers ON orders.customer_id = customers.customer_id SET orders.status = 'shipped' WHERE customers.country = 'USA';
Dies aktualisiert den status
für alle Bestellungen, die mit Kunden aus den USA verbunden sind, auf 'shipped'.
2. Verwenden von Unterabfragen in Updates
Unterabfragen können verwendet werden, um Werte basierend auf Daten aus einer anderen Tabelle festzulegen:
UPDATE employees SET department_id = ( SELECT department_id FROM departments WHERE department_name = 'Sales' ) WHERE employee_id = 1234;
Dies setzt die department_id
für den Mitarbeiter mit der employee_id
1234 auf die ID der Abteilung 'Sales'.
Bewährte Verfahren
-
Immer eine
WHERE
-Klausel verwenden: Um unbeabsichtigte Aktualisierungen aller Datensätze zu verhindern, geben Sie immer eineWHERE
-Klausel an, es sei denn, Sie möchten jeden Datensatz aktualisieren. -
Backup vor Massenaktualisierungen: Bevor Sie umfangreiche Aktualisierungen durchführen, insbesondere ohne
WHERE
-Klausel, sichern Sie Ihre Daten, um versehentlichen Datenverlust zu vermeiden. -
Transaktionen verwenden: Schließen Sie für kritische Aktualisierungen Ihre
UPDATE
-Anweisungen in Transaktionen ein, um im Fehlerfall ein Rollback zu ermöglichen:START TRANSACTION; UPDATE employees SET salary = 55000 WHERE employee_id = 1234; COMMIT;
-
Updates testen: Verwenden Sie
SELECT
-Anweisungen, um eine Vorschau der Datensätze anzuzeigen, die von IhremUPDATE
betroffen sein werden:SELECT * FROM employees WHERE employee_id = 1234;
-
Indizierung: Stellen Sie sicher, dass die in der
WHERE
-Klausel verwendeten Spalten indiziert sind, um die Leistung zu verbessern.
Schlussfolgerung
Die UPDATE
-Anweisung ist ein leistungsstarkes Werkzeug in MySQL zum Ändern vorhandener Daten. Indem Sie die Syntax und die bewährten Verfahren verstehen, können Sie Datenaktualisierungen effizient und sicher durchführen. Seien Sie immer vorsichtig, insbesondere bei Massenaktualisierungen, und stellen Sie sicher, dass Ihre WHERE
-Klauseln die beabsichtigten Datensätze genau ansprechen.
FAQs
Alle Zeilen in der Tabelle werden aktualisiert, was zu irreversiblen Datenänderungen führen kann, wenn keine Sicherung vorhanden ist.
Ja, Sie können JOIN
in einem UPDATE
verwenden, um Datensätze basierend auf verwandten Daten aus einer anderen Tabelle zu ändern.
Verwenden Sie ein SELECT
mit derselben WHERE
-Klausel, um eine Vorschau der betroffenen Zeilen anzuzeigen, bevor Sie die Aktualisierung ausführen.
We are Leapcell, your top choice for hosting backend projects.
Leapcell is the Next-Gen Serverless Platform for Web Hosting, Async Tasks, and Redis:
Multi-Language Support
- Develop with Node.js, Python, Go, or Rust.
Deploy unlimited projects for free
- pay only for usage — no requests, no charges.
Unbeatable Cost Efficiency
- Pay-as-you-go with no idle charges.
- Example: $25 supports 6.94M requests at a 60ms average response time.
Streamlined Developer Experience
- Intuitive UI for effortless setup.
- Fully automated CI/CD pipelines and GitOps integration.
- Real-time metrics and logging for actionable insights.
Effortless Scalability and High Performance
- Auto-scaling to handle high concurrency with ease.
- Zero operational overhead — just focus on building.
Explore more in the Documentation!
Follow us on X: @LeapcellHQ