
In diesem Kapitel wirst du Schritt für Schritt lernen, wie du Daten in einer Datenbank gezielt manipulieren kannst. Datenmanipulation ist ein zentraler Bestandteil der Arbeit mit SQL, da sie dir ermöglicht, Informationen nicht nur abzurufen, sondern auch aktiv zu verändern. Dazu gehören verschiedene grundlegende Operationen: das Einfügen neuer Datensätze, das Aktualisieren bestehender Daten sowie das Löschen von Datensätzen, die nicht mehr benötigt werden.
Um diese Aufgaben umzusetzen, werden wir uns intensiv mit den SQL-Befehlen INSERT INTO, UPDATE und DELETE beschäftigen. Du erfährst, wie diese Befehle aufgebaut sind, welche Möglichkeiten sie bieten und worauf du achten musst, damit deine Änderungen korrekt und effizient durchgeführt werden.
4.1 INSERT INTO
Der INSERT INTO-Befehl ist einer der grundlegenden Befehle in SQL, um neue Daten in eine Tabelle einzufügen. Man kann ihn sich vorstellen wie das Hinzufügen eines neuen Eintrags in ein Excel- oder Google-Sheet – du fügst eine neue Zeile mit Informationen hinzu.
Grundsyntax
INSERT INTO tabellenname (spalte1, spalte2, ...)
VALUES (wert1, wert2, ...);
- tabellenname ist der Name der Tabelle, in die die Daten eingefügt werden sollen.
- spalte1, spalte2, … sind die Spalten, für die du Werte eintragen möchtest.
- wert1, wert2, … sind die tatsächlichen Daten, die in die Spalten eingefügt werden.
Beispiel
Angenommen, wir haben eine Tabelle benutzer mit den Spalten id, name und alter. Um einen neuen Benutzer namens „Anna“ mit dem Alter 28 hinzuzufügen, schreiben wir:
INSERT INTO benutzer (name, alter)
VALUES ('Anna', 28);
Die id-Spalte wird oft automatisch von der Datenbank vergeben (z. B. durch Auto-Increment). Das bedeutet, dass die Datenbank selbst eine eindeutige Nummer für jeden Datensatz erstellt. Du musst diese Spalte also nicht manuell ausfüllen.
Werte für alle Spalten einfügen
Wenn du für jede Spalte der Tabelle einen Wert angibst, kannst du die Spaltennamen weglassen:
INSERT INTO benutzer
VALUES (1, 'Anna', 28);
Hier wird explizit die id mitgegeben, was in den meisten Fällen nur nötig ist, wenn die Spalte nicht automatisch generiert wird.
Mehrere Datensätze gleichzeitig einfügen
Du kannst auch mehrere Datensätze in einem einzigen Befehl einfügen:
INSERT INTO benutzer (name, alter)
VALUES
('Ben', 35),
('Clara', 22),
('David', 41);
Das spart Zeit und ist effizienter, als jeden Datensatz einzeln einzufügen.
Tipps und Vorsicht
- Achte darauf, dass die Werte den Datentypen der Spalten entsprechen. Du kannst z. B. keinen Text in eine Zahlenspalte einfügen.
- Wenn eine Spalte nicht NULL sein darf, musst du immer einen Wert dafür angeben.
- Überlege dir genau, welche Werte du einfügst – einmal eingefügte Daten zu korrigieren ist zwar möglich, aber unnötige Arbeit.
Mit INSERT INTO kannst du also deine Tabellen Schritt für Schritt mit echten Daten füllen und die Grundlage für weitere Analysen und Manipulationen schaffen.
4.2 UPDATE
Der UPDATE-Befehl wird verwendet, um bestehende Datensätze in einer Tabelle zu ändern. Während INSERT INTO neue Daten hinzufügt, ermöglicht dir UPDATE, vorhandene Daten zu korrigieren, zu ergänzen oder anzupassen. Man kann sich das vorstellen wie das Bearbeiten einer Zeile in einem Excel-Sheet: du wählst die Zeile aus und änderst die gewünschten Werte.
Grundsyntax
UPDATE tabellenname
SET spalte1 = wert1, spalte2 = wert2, ...
WHERE bedingung;
- tabellenname ist die Tabelle, in der du Daten ändern möchtest.
- SET legt die Spalten fest, die du aktualisieren willst, und die neuen Werte.
- WHERE bestimmt, welche Datensätze geändert werden. Ohne WHERE werden alle Datensätze der Tabelle aktualisiert – also Vorsicht!
Beispiel
Angenommen, wir möchten das Alter des Benutzers „Anna“ auf 29 ändern. Dann schreiben wir:
UPDATE benutzer
SET alter = 29
WHERE name = 'Anna';
Die WHERE-Klausel ist hier entscheidend. Sie sorgt dafür, dass nur der Datensatz mit dem Namen „Anna“ geändert wird. Ohne WHERE würde jeder Benutzer in der Tabelle auf 29 Jahre gesetzt werden!
Mehrere Spalten gleichzeitig aktualisieren
Du kannst auch mehrere Spalten in einem Schritt aktualisieren:
UPDATE benutzer
SET name = 'Anna Schmidt', alter = 30
WHERE id = 1;
In diesem Beispiel ändern wir gleichzeitig den Namen und das Alter des Benutzers mit der id 1.
Update ohne WHERE
Wenn du die WHERE-Klausel weglässt, werden alle Datensätze aktualisiert. Das kann nützlich sein, wenn du z. B. eine ganze Spalte anpassen möchtest, aber sei sehr vorsichtig:
UPDATE benutzer
SET alter = 25;
Dies würde das Alter aller Benutzer in der Tabelle auf 25 setzen – oft ein unerwünschtes Ergebnis.
Tipps und Vorsicht
- Verwende immer eine klare WHERE-Klausel, um unbeabsichtigte Änderungen zu vermeiden.
- Prüfe vor dem Update, welche Datensätze betroffen sind, z. B. mit einem
SELECT
-Befehl:
SELECT * FROM benutzer
WHERE name = 'Anna';
- Beachte, dass Datentypen weiterhin beachtet werden müssen (z. B. Zahlen in Zahlen-Spalten, Text in Text-Spalten).
- Du kannst auch Bedingungen kombinieren, z. B.
WHERE alter > 30 AND stadt = 'Berlin'
, um nur bestimmte Datensätze zu aktualisieren.
Mit UPDATE kannst du deine Daten gezielt pflegen und korrigieren. Richtig angewendet ist es ein sehr mächtiges Werkzeug, um die Qualität deiner Datenbank hoch zu halten.
4.3 DELETE
Der DELETE-Befehl wird verwendet, um Datensätze aus einer Tabelle zu entfernen. Während INSERT INTO neue Daten hinzufügt und UPDATE bestehende Daten ändert, erlaubt DELETE das gezielte Löschen von Informationen, die nicht mehr benötigt werden. Man kann sich das vorstellen wie das Entfernen einer Zeile in einem Excel-Sheet.
Grundsyntax
DELETE FROM tabellenname
WHERE bedingung;
- tabellenname ist die Tabelle, aus der die Daten gelöscht werden sollen.
- WHERE bestimmt, welche Datensätze entfernt werden. Ohne WHERE werden alle Datensätze gelöscht!
Beispiel
Angenommen, wir möchten den Benutzer „Anna“ aus unserer Tabelle löschen. Dann schreiben wir:
DELETE FROM benutzer
WHERE name = 'Anna';
Die WHERE-Klausel ist entscheidend. Sie sorgt dafür, dass nur der gewünschte Datensatz gelöscht wird. Ohne WHERE würde jeder Benutzer aus der Tabelle entfernt werden.
Mehrere Bedingungen verwenden
Du kannst auch mehrere Bedingungen kombinieren, um genau festzulegen, welche Datensätze gelöscht werden sollen:
DELETE FROM benutzer
WHERE alter < 18 AND stadt = 'Berlin';
In diesem Beispiel werden alle Benutzer unter 18 Jahren aus Berlin entfernt.
Vorsicht bei DELETE ohne WHERE
Ein DELETE-Befehl ohne WHERE löscht alle Datensätze der Tabelle:
DELETE FROM benutzer;
Das kann nützlich sein, wenn du eine Tabelle komplett leeren möchtest, aber in den meisten Fällen ist Vorsicht geboten – ein einmal gelöschter Datensatz lässt sich ohne Backup nicht wiederherstellen.
Tipps und Best Practices
- Prüfe vorher mit
SELECT
, welche Datensätze gelöscht werden, z. B.:
SELECT * FROM benutzer
WHERE name = 'Anna';
- Verwende immer klare Bedingungen in der WHERE-Klausel, um unbeabsichtigtes Löschen zu vermeiden.
- Wenn du regelmäßig Daten löschst, kann ein Backup sinnvoll sein, um Fehler abzusichern.
- DELETE kann auch mit JOINs kombiniert werden, um Datensätze basierend auf Bedingungen in anderen Tabellen zu löschen – das ist jedoch ein fortgeschritteneres Thema.
Mit DELETE hast du die Kontrolle darüber, welche Daten in deiner Datenbank verbleiben und welche entfernt werden. Richtig angewendet hilft dieser Befehl, deine Daten sauber und aktuell zu halten.
4.4 Zusammenfassung
In diesem Kapitel hast du die grundlegenden SQL-Befehle zur Datenmanipulation kennengelernt. Mit INSERT INTO kannst du neue Datensätze in deine Tabellen einfügen und so deine Datenbank Schritt für Schritt mit Informationen füllen. Der UPDATE-Befehl ermöglicht es dir, bestehende Daten gezielt zu ändern – sei es, um Fehler zu korrigieren oder Informationen zu aktualisieren. Besonders wichtig ist hierbei die Verwendung der WHERE-Klausel, um nur die gewünschten Datensätze zu beeinflussen und unbeabsichtigte Änderungen zu vermeiden. Mit DELETE schließlich kannst du Datensätze entfernen, die nicht mehr benötigt werden. Auch hier ist die WHERE-Klausel entscheidend, um ein versehentliches Löschen aller Daten zu verhindern.
Zusammengefasst bilden diese drei Befehle die Basis für die aktive Arbeit mit Daten in SQL. Sie geben dir die Kontrolle darüber, welche Daten in deiner Datenbank hinzugefügt, angepasst oder entfernt werden, und legen damit den Grundstein für alle weiteren Abfragen und Analysen, die du in den kommenden Kapiteln kennenlernen wirst.
Quiz zu Daten manipulieren
Teste dein Wissen mit diesen Fragen:
Welcher Befehl wird verwendet, um neue Datensätze in eine Tabelle einzufügen?
a)
UPDATE
b)
INSERT INTO
c)
DELETE
Wie aktualisierst du das Alter eines Benutzers mit dem Namen „Anna“ auf 30?
a)
UPDATE benutzer SET alter = 30 WHERE name = 'Anna';
b)
INSERT INTO benutzer (alter) VALUES (30);
c)
DELETE FROM benutzer WHERE name = 'Anna';
Was passiert, wenn du die
WHERE
-Klausel imDELETE
-Befehl weglässt?a) Nichts, der Befehl wird nicht ausgeführt.
b) Es wird ein Fehler angezeigt.
c) Alle Datensätze in der Tabelle werden gelöscht.
1. b) INSERT INTO
2. a) UPDATE benutzer SET alter = 30 WHERE name = 'Anna';
3. c) Alle Datensätze in der Tabelle werden gelöscht.
Audit-Trails implementieren: Wer hat was wann geändert?
Eine kritische Kundennummer wurde in deiner Datenbank geändert, und die...
Artikel lesenStored Procedures vs. normale Abfragen – wann lohnt sich was?
Wer mit Datenbanken arbeitet, steht früher oder später vor der...
Artikel lesenCAST, CONVERT & Co.: So meisterst du Datentypkonvertierungen in SQL
Daten liegen in SQL-Datenbanken in unterschiedlichen Formaten vor – etwa...
Artikel lesenDate- und Zeitfunktionen in SQL: leicht erklärt
Wie oft hast du schon das Alter eines Users berechnet,...
Artikel lesenGROUP BY richtig verstehen: typische Fehler und wie du sie vermeidest
Die GROUP BY-Klausel gehört zu den mächtigsten Werkzeugen in SQL...
Artikel lesenSQL CASE-Statement einfach erklärt: Bedingte Logik für Spalten, Gruppen und Datenqualität
Oft reichen einfache Abfragen nicht aus. Vielleicht möchtest du Alterswerte...
Artikel lesenWas ist eine SQL-Datenbank? Einfach erklärt für Einsteiger
Jeden Tag fallen unzählige Daten an – Kundendaten, Bestellungen, Blogartikel...
Artikel lesenDatenbank-Normalformen: Theoretische Grundlagen und praktische Anwendung
In vielen Datenbanken sammeln sich mit der Zeit redundante Informationen....
Artikel lesen