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 intaktSQL
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.
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
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;
Wozu dient ROLLBACK in einer Transaktion?
Die Änderungen endgültig zu bestätigen
Alle seit BEGIN gemachten Änderungen rückgängig zu machen