SQL – Daten einfügen, ändern und löschen

1. Was bedeutet Datenbearbeitung?

In einer Datenbank können Datensätze hinzugefügt, geändert und gelöscht werden. Dafür verwendet man die SQL-Befehle INSERT INTO, UPDATE und DELETE.

Diese Befehle gehören zur Data Manipulation Language (DML).

Beispieltabelle: kunden

kunden_id name stadt alter
1 Anna Müller Berlin 28
2 Max Schmidt Leipzig 35
3 Lisa Weber Dresden 24

2. INSERT INTO – Daten hinzufügen

Mit INSERT INTO werden neue Datensätze in eine Tabelle eingefügt.

SQL-Code

INSERT INTO kunden (name, stadt, alter)
VALUES ('Peter Fischer', 'Hamburg', 42);

Erklärung

  1. INSERT INTO bestimmt die Zieltabelle.
  2. In Klammern stehen die Spaltennamen.
  3. VALUES enthält die einzufügenden Werte.

Ergebnis

kunden_id name stadt alter
1 Anna Müller Berlin 28
2 Max Schmidt Leipzig 35
3 Lisa Weber Dresden 24
4 Peter Fischer Hamburg 42

Die kunden_id wird automatisch vergeben, wenn die Spalte AUTO_INCREMENT verwendet.


3. Mehrere Datensätze einfügen

Mit einem INSERT INTO-Befehl können mehrere Datensätze gleichzeitig eingefügt werden.

SQL-Code

INSERT INTO kunden (name, stadt, alter)
VALUES
('Laura Becker', 'München', 29),
('Thomas Wolf', 'Leipzig', 38),
('Sarah Hoffmann', 'Berlin', 31);

Jeder Datensatz steht in eigenen Klammern. Die Datensätze werden durch Kommas getrennt.


4. INSERT INTO mit NULL und DEFAULT

NULL bedeutet, dass kein Wert vorhanden ist. DEFAULT verwendet den festgelegten Standardwert einer Spalte.

SQL-Code

INSERT INTO kunden (name, stadt, alter)
VALUES ('Julia Meier', 'Köln', NULL);

In diesem Beispiel ist das Alter nicht bekannt. Die Spalte alter muss dafür NULL-Werte erlauben.

DEFAULT-Beispiel

CREATE TABLE newsletter (
    id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(150) NOT NULL,
    aktiv BOOLEAN DEFAULT TRUE
);

INSERT INTO newsletter (email)
VALUES ('beispiel@example.com');

Da kein Wert für aktiv angegeben wurde, verwendet MySQL den Standardwert TRUE.


5. UPDATE – Daten ändern

Mit UPDATE werden vorhandene Datensätze in einer Tabelle verändert.

SQL-Code

UPDATE kunden
SET stadt = 'Dresden'
WHERE kunden_id = 2;

Erklärung

  1. UPDATE bestimmt die Tabelle.
  2. SET legt den neuen Wert fest.
  3. WHERE bestimmt den betroffenen Datensatz.

Ergebnis

kunden_id name stadt
1 Anna Müller Berlin
2 Max Schmidt Dresden
3 Lisa Weber Dresden
Achtung! Ohne WHERE werden alle Datensätze der Tabelle geändert.

6. Mehrere Spalten gleichzeitig ändern

Mit SET können mehrere Spalten gleichzeitig verändert werden.

SQL-Code

UPDATE kunden
SET stadt = 'Hamburg',
    alter = 36
WHERE kunden_id = 2;

Die Werte für stadt und alter werden beim ausgewählten Kunden geändert.


7. UPDATE mit Berechnungen

Mit UPDATE können auch Berechnungen durchgeführt werden.

SQL-Code

UPDATE produkte
SET preis = preis * 1.10
WHERE produkt_id = 1;

Der Preis des Produkts mit der ID 1 wird um 10 Prozent erhöht.

Beispielrechnung

Alter Preis Berechnung Neuer Preis
100,00 € 100 × 1,10 110,00 €

8. DELETE FROM – Daten löschen

Mit DELETE FROM werden Datensätze aus einer Tabelle gelöscht.

SQL-Code

DELETE FROM kunden
WHERE kunden_id = 3;

Erklärung

Dieser Befehl löscht den Datensatz mit der kunden_id 3. Andere Datensätze bleiben erhalten.

Ergebnis

kunden_id name stadt
1 Anna Müller Berlin
2 Max Schmidt Leipzig
Wichtig: DELETE FROM ohne WHERE löscht alle Datensätze der Tabelle. Die Tabellenstruktur bleibt bestehen.

9. DELETE mit Bedingungen

Mit WHERE können mehrere Datensätze ausgewählt und gelöscht werden.

SQL-Code

DELETE FROM kunden
WHERE stadt = 'Berlin';

Dieser Befehl löscht alle Kunden, deren Stadt Berlin ist.

Weiteres Beispiel

DELETE FROM kunden
WHERE alter < 18;

Alle Kunden unter 18 Jahren werden gelöscht.


10. Vor UPDATE und DELETE prüfen

Vor einer Änderung oder Löschung sollten die betroffenen Datensätze mit SELECT überprüft werden.

Schritt 1 – Datensätze prüfen

SELECT *
FROM kunden
WHERE stadt = 'Berlin';

Schritt 2 – Datensätze ändern

UPDATE kunden
SET stadt = 'Potsdam'
WHERE stadt = 'Berlin';

So kann vor der Änderung kontrolliert werden, welche Datensätze betroffen sind.


11. INSERT, UPDATE und DELETE im Vergleich

Befehl Funktion Beispiel
INSERT INTO Neue Datensätze hinzufügen Neuen Kunden speichern
UPDATE Vorhandene Daten ändern Adresse ändern
DELETE FROM Datensätze löschen Kunden löschen

12. Praktische Übung

Für die folgenden Aufgaben wird die Tabelle kunden verwendet.

Aufgabe 1

Fügen Sie einen neuen Kunden ein: Name: Michael Braun, Stadt: Leipzig, Alter: 40.

INSERT INTO kunden (name, stadt, alter)
VALUES ('Michael Braun', 'Leipzig', 40);

Aufgabe 2

Ändern Sie die Stadt des Kunden mit der ID 1 in Hamburg.

UPDATE kunden
SET stadt = 'Hamburg'
WHERE kunden_id = 1;

Aufgabe 3

Löschen Sie den Kunden mit der ID 2.

DELETE FROM kunden
WHERE kunden_id = 2;

13. Zusammenfassung

Mit INSERT INTO werden neue Datensätze in eine Tabelle eingefügt. UPDATE verändert vorhandene Daten. DELETE FROM löscht Datensätze. Die WHERE-Bedingung ist besonders wichtig, damit nur die gewünschten Datensätze geändert oder gelöscht werden.