SQL Schnellstart – Update

Neben dem Abfragen und Löschen von Datensätzen muss man häufig auch andere Datensätze nachträglich verändern. Das kannst du mit dem UPDATE-Schlüssel tun.

SQL UPDATE: Anweisung

Mit der UPDATE Anweisung kannst du bestehende Einträge in deiner Datenbank verändern. Mit dem Schlüsselwort UPDATE gibst du die Tabelle an, in der du Daten verändern möchtest. Durch das Schlüsselwort SET kannst du dann festlegen, welche Spalten du mit welchen Werten abändern möchtest. Da du meistens nicht alle Einträge in deiner Tabelle verändern möchtest, sondern nur bestimmte, kannst du mit WHERE filtern, welche Einträge von der Veränderung betroffen sein sollen.

SQL UPDATE: Syntax

Die Syntax der UPDATE-Anweisung sieht folgendermaßen aus:

UPDATE tabellenname
SET spalte1 = wert1, spalte2 = wert2, ..., spalteN = wertN
WHERE Bedingung

Hinweis: Lässt du das WHERE weg, so werden alle Einträge modifiziert. Es ist auch empfehlenswert, über eine SELECT-Abfrage und der jeweiligen WHERE Bedingung nachzuschauen, welche Einträge von der Veränderung betroffen sind.

SQL UPDATE: Beispiel

Stell dir vor, du bist Geschäftsführer eines IT-Startups für Datenbankentwicklung. Deine Mitarbeiterdaten sind in einer Tabelle "Mitarbeiter" gespeichert:

Die Personen "Leon Schwab" und "Vanessa Bachmeier" haben nun geheiratet, "Vanessa Bachmeier" heißt nun "Vanessa Schwab". Du kannst deine Daten nun folgendermaßen updaten.

UPDATE Mitarbeiter
SET Nachname = 'Schwab'
WHERE Vorname = 'Vanessa' AND Nachname = 'Bachmeier';

Du könntest hier als Bedingung auch einfach nur den Nachname verwenden, weil der Nachname Bachmeier nur einmal vorkommt, aber was machst du wenn zwei Mitarbeiter den Nachnamen Bachmeier haben? Deshalb ist es hier sinnvoll, den Vornamen und den Nachnamen zu verwenden. Natürlich könnte es auch zwei Mitarbeiter geben, welche "Vanessa Bachmeier" heißen, dann müsstest du eventuell das Geburtsdatum als weiteres Filter-Kriterium verwenden. Deshalb empfehle ich dir auf jeden Fall, mit einem SELECT zu übeprrüfen, welche Daten für die jeweilige Bedingung verändert werden.

SELECT * 
FROM Mitarbeiter
WHERE Vorname = 'Vanessa' AND Nachname = 'Bachmeier';

Wie du sehen kannst haben wir mit unseren WHERE also genau die Datensätze ausgewählt, welche wir verändern wollten.

SQL Update: Code Aufgabe - Geburtsdatum ändern

  1. Fälschlicherweise wurde beim Mitarbeiter "Martin Müller" das falsche Geburtsdatum eingetragen, denn dieser wurde am 11.12.1989 ('1989-12-11') geboren. Aktualisiere das Geburtsdatum von Martin Müller mit dem Update-Befehl.
  2. Im Anschluss kannst du über den SELECT * FROM Mitarbeiter; Befehl prüfen, ob dein Eintrag richtig aktualisiert wurde.

Die Lösung findest du unten.

[lp_spoiler title="Lösung anzeigen"]

Lösung:

UPDATE Mitarbeiter
SET Geburtsdatum = '1989-12-11'
WHERE vorname = 'Martin' AND nachname = 'Müller';

SELECT * FROM Mitarbeiter zeigt nun folgende Ausgabe:

[/lp_spoiler]

Fazit

Du weißt nun, wie du mit dem UPDATE-Schlüsselwort SET und optional WHERE Einträge in deiner Tabelle verändern kannst. Als Datenbankentwickler wirst du häufig UPDATE verwenden.