SQLite - UPDATE-Abfrage

Hallo da draußen, zukünftige Datenbank-Zauberer! Heute tauchen wir ein in die wunderbare Welt von SQLite und lernen eines seiner mächtigsten Zaubertricks kennen - die UPDATE-Abfrage. Stell dir vor, du bist eine Bibliothekarin und musst die Informationen auf einigen deiner Buchkarten ändern. Genau das macht die UPDATE-Abfrage für unsere Datenbanken!

SQLite - UPDATE Query

Was ist eine UPDATE-Abfrage?

Eine UPDATE-Abfrage ist wie eine magische Zauberstab, der es uns ermöglicht, bestehende Einträge in einer Datenbanktabelle zu ändern. Sie ist ungemein nützlich, wenn du Daten ändern musst, die bereits in deiner Datenbank gespeichert sind.

Warum brauchen wir UPDATE-Abfragen?

Angenommen, du verwaltest eine Buchladen-Datenbank. Eines Tages merkst du, dass der Preis eines Buches geändert hat. Anstatt den alten Eintrag zu löschen und einen neuen zu erstellen, kannst du einfach den bestehenden Eintrag mit dem neuen Preis aktualisieren. Genau hier kommen UPDATE-Abfragen ins Spiel!

Syntax

Nun schauen wir uns den Zauber... ähm, die Syntax für eine UPDATE-Abfrage an:

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

Lassen wir das auseinanderfallen:

  1. UPDATE table_name: Hier gibst du an, welche Tabelle du aktualisieren möchtest.
  2. SET column1 = value1, column2 = value2, ...: Hier listest du die Spalten auf, die du ändern möchtest, und ihre neuen Werte.
  3. WHERE condition: Dies ist optional, aber sehr wichtig. Es gibt an, welche Zeilen aktualisiert werden sollen. Wenn du dies weglässt, werden alle Zeilen in der Tabelle aktualisiert!

Beispiele

Beispiel 1: Aktualisierung einer einzigen Spalte

Beginnen wir mit einem einfachen Beispiel. Stellen wir uns eine Tabelle namens books mit den Spalten id, title, author und price vor. Wir möchten den Preis eines Buches aktualisieren.

UPDATE books
SET price = 19.99
WHERE id = 1;

Diese Abfrage aktualisiert den Preis auf 19.99 für das Buch mit der ID 1.

Beispiel 2: Aktualisierung mehrerer Spalten

Nun, stellen wir uns vor, wir möchten sowohl den Preis als auch den Autor eines Buches aktualisieren:

UPDATE books
SET price = 24.99, author = 'Jane Doe'
WHERE title = 'The Great Adventure';

Diese Abfrage ändert den Preis auf 24.99 und den Autor auf 'Jane Doe' für das Buch mit dem Titel 'The Great Adventure'.

Beispiel 3: Aktualisierung aller Zeilen

Manchmal möchtest du alle Zeilen in einer Tabelle aktualisieren. Sei vorsichtig mit diesem, es ist wie ein Zauber auf die ganze Bibliothek!

UPDATE books
SET price = price * 1.1;

Diese Abfrage erhöht den Preis aller Bücher um 10%. Beachte, dass wir keine WHERE-Klausel verwendet haben, daher betrifft es alle Zeilen.

Beispiel 4: Verwenden von Ausdrücken in Updates

Du kannst auch Ausdrücke in deinen UPDATE-Abfragen verwenden. Stellen wir uns vor, wir möchten allen teuren Büchern einen Rabatt geben:

UPDATE books
SET price = price * 0.9
WHERE price > 50;

Diese Abfrage reduziert den Preis um 10% für alle Bücher, die mehr als 50 Dollar kosten.

Beispiel 5: Aktualisierung basierend auf einer anderen Tabelle

Du kannst sogar Daten basierend auf Informationen aus einer anderen Tabelle aktualisieren. Stellen wir uns vor, wir haben eine sales-Tabelle und wir möchten die popular-Spalte in unserer books-Tabelle aktualisieren:

UPDATE books
SET popular = 1
WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);

Diese komplex erscheinende Abfrage markiert Bücher als beliebt, wenn sie mehr als 100 Mal verkauft wurden.

Häufige UPDATE-Methoden

Hier ist eine Tabelle mit häufigen UPDATE-Methoden, die du nützlich finden könntest:

Methode Beschreibung Beispiel
Einfache Aktualisierung Aktualisiert eine einzelne Spalte UPDATE books SET price = 19.99 WHERE id = 1;
Mehrspalten-Aktualisierung Aktualisiert mehrere Spalten UPDATE books SET price = 24.99, author = 'Jane Doe' WHERE id = 1;
Aktualisierung aller Zeilen Aktualisiert alle Zeilen in einer Tabelle UPDATE books SET price = price * 1.1;
Bedingte Aktualisierung Aktualisiert Zeilen, die einer Bedingung entsprechen UPDATE books SET price = price * 0.9 WHERE price > 50;
Subquery-Aktualisierung Aktualisiert basierend auf einer Subquery UPDATE books SET popular = 1 WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);

Denkt daran, junge Zauberer, mit großer Macht kommt große Verantwortung. Überprüft immer zweimal eure WHERE-Klausel, bevor ihr einen UPDATE-Zauber anwendet. Ihr wollt sicherlich nicht versehentlich alle Bücher in eurer Bibliothek ändern, wenn ihr nur eines aktualisieren wollt!

Übt diese Zaubersprüche... ähm, Abfragen und bald werdet ihr Meister der Datenbank-Zauberei sein. Frohes Coden und möge eure Datenbanken stets auf dem neuesten Stand sein!

Credits: Image by storyset