MB Dev .tech
Registrieren Login

SQL · INSERT/UPDATE/DELETE Basics

← Zurück zu SQL Basics

Bisher haben wir Daten gelesen (SELECT). Jetzt kommt der Teil, der mehr Verantwortung braucht: Daten schreiben und ändern. Hier passieren die häufigsten „Ups“-Momente – deshalb gehen wir extra vorsichtig und Schritt für Schritt vor.

Achtung
UPDATE/DELETE ohne WHERE ist gefährlich

Ohne WHERE kann es passieren, dass du alle Zeilen einer Tabelle änderst oder löschst. Das ist der Klassiker, den wirklich jeder einmal zu früh macht.

1) INSERT – neue Daten anlegen

Mit INSERT fügst du eine neue Zeile (einen neuen Datensatz) in eine Tabelle ein. Du gibst an, welche Spalten befüllt werden sollen – und die passenden Werte.

Neuen Kunden anlegen

INSERT INTO customers (name, email)
VALUES ('Lina Koch', 'lina@example.com');

Häufig hat die Tabelle eine Spalte id, die automatisch hochzählt (Auto-Increment). Diese musst du dann nicht mitschicken – die Datenbank erzeugt sie selbst.

Tipp
Spaltenliste immer mitschreiben

Auch wenn es „kürzer“ wäre: Schreib die Spalten lieber aus. Dann bleibt deine Abfrage stabil, selbst wenn später Spalten dazu kommen.

2) UPDATE – Daten ändern

Mit UPDATE änderst du vorhandene Zeilen. Du sagst: „Setze diese Spalten auf diese Werte … aber nur für bestimmte Zeilen.“

E-Mail eines Kunden ändern

UPDATE customers
SET email = 'lina.koch@example.com'
WHERE id = 2;
Achtung
Erst SELECT, dann UPDATE

Wenn du unsicher bist, ob dein WHERE stimmt: Mach zuerst ein SELECT ... WHERE ... und prüfe, welche Zeilen betroffen wären. Erst dann das UPDATE.

Du kannst auch mehrere Spalten gleichzeitig setzen:

Mehrere Spalten ändern

UPDATE customers
SET name = 'Lina K.', email = 'lina.k@example.com'
WHERE id = 2;

3) DELETE – Daten löschen

Mit DELETE entfernst du Zeilen aus einer Tabelle. Auch hier gilt: Ohne WHERE kann es die ganze Tabelle treffen.

Eine Zeile löschen

DELETE FROM customers
WHERE id = 3;
Achtung
Löschen ist oft endgültig (je nach Setup)

In vielen Projekten nutzt man statt „hart löschen“ ein Soft-Delete (z.B. deleted_at setzen), damit Daten später wiederherstellbar sind.

4) Typische Anfängerfehler (und wie du sie vermeidest)

  • UPDATE ohne WHERE → immer vorher SELECT testen
  • Falsches WHERE → z.B. Name statt ID verwenden
  • Text ohne Quotes'Text' statt Text
  • NULL falsch vergleichenIS NULL statt = NULL
Tipp
Arbeite in kleinen Schritten

Gerade bei Änderungen: erst SELECT prüfen, dann UPDATE/DELETE. Und wenn möglich: in einer Testdatenbank üben.

5) Kurzer Sicherheitshinweis (sehr wichtig)

Wenn du SQL aus einer Anwendung heraus benutzt (z.B. PHP), dürfen Benutzer-Eingaben nicht einfach „in den SQL-Text“ eingebaut werden. Sonst kann SQL-Injection entstehen.

Achtung
SQL niemals per String zusammenbauen

In der Praxis nutzt man Prepared Statements (z.B. mit PDO), damit Werte sicher gebunden werden. Das behandeln wir später noch ausführlicher.

Wie geht es weiter?

Jetzt kannst du Daten lesen und schreiben. Als Nächstes schauen wir auf Performance: Warum sind manche Abfragen schnell und andere langsam? Das führt uns zu Indizes.

Nächster Schritt
Index & Performance

Indizes sind wie ein Inhaltsverzeichnis – sie machen Suchen viel schneller, aber haben auch Kosten. Das erklären wir verständlich und praxisnah.