Kodokon kodokon.com

Daten verändern: INSERT, UPDATE, DELETE

Füge Zeilen sicher hinzu, verändere und lösche sie, und vermeide die klassische Falle des vergessenen WHERE.

8 Min. · 3 Fragen

Diese Lektion in Kodokon öffnen

Bisher hast du Daten nur gelesen. Kommen wir zum Schreiben. INSERT INTO fügt eine Zeile hinzu: Du listest die Spalten zwischen Klammern auf, dann die passenden Werte nach VALUES, in derselben Reihenfolge. Die Spalten explizit zu benennen ist eine gute Gewohnheit: Die Query bleibt gültig, selbst wenn sich die Struktur der Tabelle weiterentwickelt.

SQL
INSERT INTO books (id, title, author, genre, year, price)
VALUES (8, 'Ravage', 'Barjavel', 'sf', 1943, 7.5);

SELECT * FROM books WHERE id = 8;
Ein 8. Buch hinzufügen, dann prüfen

UPDATE verändert bestehende Zeilen: Nach SET gibst du die Spalte und ihren neuen Wert an; nach WHERE legst du fest, welche Zeilen betroffen sind. Dieses WHERE ist entscheidend: Es ist das, was die Änderung gezielt setzt.

SQL
UPDATE books SET price = 8.9 WHERE id = 8;

SELECT title, price FROM books WHERE id = 8;
Der Preis von Ravage geht von 7.5 auf 8.9

DELETE FROM entfernt Zeilen. Wie bei UPDATE bezeichnet die WHERE-Klausel die zu löschenden Zeilen; die anderen bleiben unberührt. Löschen wir das gerade hinzugefügte Buch und prüfen dann die Anzahl.

SQL
DELETE FROM books WHERE id = 8;

SELECT COUNT(*) FROM books;
Zurück bei 7 Zeilen: Die ursprüngliche Tabelle ist intakt
SQL
BEGIN;
DELETE FROM books WHERE genre = 'sf';
SELECT COUNT(*) FROM books;
ROLLBACK;
SELECT COUNT(*) FROM books;
3 Zeilen während der Transaktion, 7 nach ROLLBACK

Wissenscheck

Stelle sicher, dass du die wichtigsten Punkte dieser Lektion behalten hast.

  1. Was macht die Query DELETE FROM books;, wenn sie ohne WHERE ausgeführt wird?
    • Sie löscht die erste Zeile der Tabelle
    • Sie löscht alle Zeilen der Tabelle
    • Sie verursacht einen Syntaxfehler
  2. Welche Query ändert den Preis des Buchs mit id 3 auf 6.9?
    • UPDATE books SET price = 6.9 WHERE id = 3;
    • INSERT INTO books SET price = 6.9;
    • SELECT price = 6.9 FROM books WHERE id = 3;
  3. Wozu dient ROLLBACK in einer Transaktion?
    • Die Änderungen endgültig zu bestätigen
    • Alle seit BEGIN gemachten Änderungen rückgängig zu machen
    • Die betroffene Tabelle zu löschen