🗄️ SQL Lehrpfad 1: Grundlagen

SQL 03: Daten aktualisieren, löschen & ALTER TABLE

Lerne Datenmodifikationen mit UPDATE, gezieltes Bereinigen mit DELETE und Schema-Migrationen mit ALTER TABLE.

💡 1. Datensätze modifizieren mit UPDATE

Mit dem UPDATE-Befehl veränderst du bestehende Zeilen in einer Tabelle:

UPDATE tabellen_name
SET spalte1 = neuer_wert1,
    spalte2 = neuer_wert2
WHERE bedingung;

Du kannst in SET auch bestehende Werte mathematisch manipulieren:

-- 10% Gehaltserhöhung für alle Entwickler:
UPDATE mitarbeiter 
SET gehalt = gehalt * 1.10 
WHERE abteilung = 'IT';

🗑️ 2. Datensätze entfernen mit DELETE

Mit DELETE FROM entfernst du gezielt nicht mehr benötigte Datensätze:

DELETE FROM mitarbeiter 
WHERE status = 'inaktiv' AND gehalt < 35000;
🚨 Der Albtraum jedes Datenbank-Admins: Fehlende WHERE-Klausel!

Wenn du das WHERE vergisst, führt die Datenbank den Befehl gnadenlos für jede einzelne Zeile der Tabelle aus:

DELETE FROM mitarbeiter; -- 💥 LÖSCHT DIE GESAMTE TABELLE!

Goldene Regel: Teste dein Kriterium immer zuerst mit einem SELECT * FROM tabelle WHERE ..., bevor du es in ein UPDATE oder DELETE umwandelst!

🏗️ 3. Tabellenschema erweitern mit ALTER TABLE

Wenn sich Anforderungen im laufenden Betrieb ändern, kannst du Tabellen nachträglich anpassen:

-- 1. Neue Spalte mit Standardwert hinzufügen:
ALTER TABLE mitarbeiter ADD COLUMN bonus REAL DEFAULT 0.0;

-- 2. Spalte umbenennen (SQLite 3.25+):
ALTER TABLE mitarbeiter RENAME COLUMN gehalt TO monatsgehalt;

-- 3. Tabelle umbenennen:
ALTER TABLE mitarbeiter RENAME TO angestellte;
🏢 Didaktische Analogie: Umbau im laufenden Betrieb

UPDATE ist wie das Streichen der Wände in einem bestehenden Büro (Inhalt ändert sich). ALTER TABLE ist der Ausbau eines weiteren Stockwerks oder das Einsetzen neuer Trennwände (die Baupläne/Struktur ändern sich)!

📑 4. Cheat-Sheet: Modifikation & Schema

Befehl Beispiel-Syntax Wirkung
UPDATE ... SET UPDATE kunden SET status = 'vip' WHERE umsatz > 1000; Ändert Spaltenwerte bestehender Zeilen
DELETE FROM DELETE FROM warenkorb WHERE menge = 0; Löscht Zeilen, die der Bedingung entsprechen
ALTER ... ADD ALTER TABLE kunden ADD COLUMN geburtstag TEXT; Fügt eine neue Spalte hinzu
ALTER ... RENAME ALTER TABLE kunden RENAME TO shop_kunden; Benennt eine Tabelle um

🎯 Aufgaben & Checkliste in aufgabe.sql

💻 In Web-IDE öffnen → ← Zurück zu SQL 02 Weiter zu SQL 04 →