Zuletzt aktualisiert am 05.12.2025 5 Minuten Lesezeit

CRUD (Create, Read, Update, Delete)

CRUD steht für Create, Read, Update, Delete und beschreibt die vier grundlegenden Operationen, die auf persistente Daten in Datenbanken und Anwendungen angewendet werden. Diese Operationen bilden das Fundament nahezu jeder datenbankbasierten Anwendung und sind ein zentrales Konzept in der Softwareentwicklung.

Ob du eine Benutzerverwaltung programmierst, einen Online-Shop entwickelst oder eine Lagerverwaltung erstellst - CRUD-Operationen begegnen dir überall. Das Verständnis dieser vier Grundoperationen ist essentiell für jeden, der mit Datenbanken und APIs arbeitet.

Die vier CRUD-Operationen im Detail

Jede der vier CRUD-Operationen erfüllt eine spezifische Aufgabe im Lebenszyklus von Daten. Zusammen decken sie alle grundlegenden Interaktionen ab, die eine Anwendung mit einer Datenbank durchführen kann.

Create (Erstellen)

Die Create-Operation fügt neue Datensätze zur Datenbank hinzu. In SQL verwendest du dafür das INSERT-Statement. Wenn ein neuer Benutzer sich registriert oder ein neues Produkt zum Katalog hinzugefügt wird, findet eine Create-Operation statt.

-- Neuen Benutzer in die Datenbank einfuegen
INSERT INTO benutzer (name, email, passwort)
VALUES ('Max Mustermann', 'max@beispiel.de', 'hash123');

Read (Lesen)

Die Read-Operation ruft vorhandene Daten aus der Datenbank ab. In SQL nutzt du das SELECT-Statement. Diese Operation verändert keine Daten, sondern liefert lediglich Informationen zurück. Das Anzeigen einer Benutzerliste oder das Laden von Produktdetails sind typische Read-Operationen.

-- Alle aktiven Benutzer abrufen
SELECT name, email FROM benutzer WHERE aktiv = true;

-- Einzelnen Benutzer nach ID suchen
SELECT * FROM benutzer WHERE id = 42;

Update (Aktualisieren)

Die Update-Operation ändert bestehende Datensätze. In SQL verwendest du das UPDATE-Statement. Wenn ein Benutzer sein Passwort ändert oder die Adresse aktualisiert, handelt es sich um eine Update-Operation.

-- E-Mail-Adresse eines Benutzers aktualisieren
UPDATE benutzer 
SET email = 'neue-email@beispiel.de'
WHERE id = 42;

Delete (Löschen)

Die Delete-Operation entfernt Datensätze aus der Datenbank. In SQL nutzt du das DELETE-Statement. Das Löschen eines Benutzerkontos oder das Entfernen eines Produkts aus dem Katalog sind Delete-Operationen.

-- Benutzer aus der Datenbank loeschen
DELETE FROM benutzer WHERE id = 42;

-- Alle inaktiven Benutzer loeschen
DELETE FROM benutzer WHERE aktiv = false;

Geschichte und Ursprung

Das Konzept der CRUD-Operationen existiert seit den Anfängen relationaler Datenbanksysteme. Der Begriff wurde in den 1980er Jahren populär, insbesondere durch James Martins Buch "Managing the Data-base Environment" von 1983. Martin erkannte, dass sich alle Datenbankinteraktionen auf diese vier grundlegenden Operationen zurückführen lassen.

Die akademische Formalisierung erfolgte 1990 durch Haim Kilov in seinem Artikel "From Semantic to Object-Oriented Data Modeling". Seitdem hat sich CRUD als Standardterminologie in der Softwareentwicklung etabliert und wird heute weltweit verwendet.

CRUD und HTTP-Methoden in REST-APIs

Bei der Entwicklung von Web-APIs werden CRUD-Operationen auf HTTP-Methoden abgebildet. Diese Zuordnung folgt dem REST-Architekturstil und ist ein fundamentales Konzept moderner Webentwicklung.

CRUD-Operation HTTP-Methode Beschreibung Beispiel-Endpunkt
Create POST Neuen Datensatz erstellen POST /api/benutzer
Read GET Daten abrufen GET /api/benutzer/42
Update PUT / PATCH Datensatz aktualisieren PUT /api/benutzer/42
Delete DELETE Datensatz löschen DELETE /api/benutzer/42

Der Unterschied zwischen PUT und PATCH liegt im Umfang der Aktualisierung: PUT ersetzt den gesamten Datensatz, während PATCH nur einzelne Felder ändert. In der Praxis wird häufig PUT für vollständige Updates und PATCH für partielle Updates verwendet.

CRUD in verschiedenen Datenbanksystemen

Die CRUD-Operationen werden in unterschiedlichen Datenbanksystemen mit verschiedener Syntax umgesetzt, folgen aber immer dem gleichen Grundprinzip.

Relationale Datenbanken (SQL)

In relationalen Datenbanken wie MySQL, PostgreSQL oder Microsoft SQL Server nutzt du SQL-Statements für CRUD-Operationen:

  • Create: INSERT INTO tabelle (...) VALUES (...)
  • Read: SELECT ... FROM tabelle WHERE ...
  • Update: UPDATE tabelle SET ... WHERE ...
  • Delete: DELETE FROM tabelle WHERE ...

NoSQL-Datenbanken (MongoDB)

In dokumentenbasierten Datenbanken wie MongoDB sehen die CRUD-Operationen anders aus, erfüllen aber dieselben Funktionen:

// Create - Dokument einfuegen
db.benutzer.insertOne({ name: "Max", email: "max@beispiel.de" });

// Read - Dokumente abfragen
db.benutzer.find({ aktiv: true });

// Update - Dokument aktualisieren
db.benutzer.updateOne({ _id: 42 }, { $set: { email: "neu@beispiel.de" } });

// Delete - Dokument loeschen
db.benutzer.deleteOne({ _id: 42 });

Praxisbeispiel: CRUD in einer Web-Anwendung

Ein typisches Beispiel für CRUD-Operationen ist eine Benutzerverwaltung. Hier siehst du, wie die vier Operationen in einer Webanwendung zusammenspielen:

// Einfache CRUD-Funktionen fuer Benutzerverwaltung

// CREATE - Neuen Benutzer registrieren
async function erstelleBenutzer(name, email, passwort) {
  const response = await fetch('/api/benutzer', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ name, email, passwort })
  });
  return response.json();
}

// READ - Benutzer abrufen
async function holeBenutzer(id) {
  const response = await fetch(`/api/benutzer/${id}`);
  return response.json();
}

// UPDATE - Benutzer aktualisieren
async function aktualisiereBenutzer(id, daten) {
  const response = await fetch(`/api/benutzer/${id}`, {
    method: 'PUT',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(daten)
  });
  return response.json();
}

// DELETE - Benutzer loeschen
async function loescheBenutzer(id) {
  await fetch(`/api/benutzer/${id}`, { method: 'DELETE' });
}

Best Practices für CRUD-Operationen

Bei der Implementierung von CRUD-Operationen solltest du einige wichtige Grundsätze beachten, um sichere und wartbare Anwendungen zu entwickeln:

  • Validierung: Prüfe Eingabedaten vor Create- und Update-Operationen
  • Fehlerbehandlung: Behandle Fehler wie "Datensatz nicht gefunden" angemessen
  • Autorisierung: Stelle sicher, dass Benutzer nur auf ihre eigenen Daten zugreifen können
  • Soft Delete: Erwäge statt echtem Löschen ein "gelöscht"-Flag zu setzen
  • Audit Trail: Protokolliere Änderungen für Nachvollziehbarkeit
  • Transaktionen: Nutze Datenbank-Transaktionen bei zusammenhängenden Operationen

CRUD in der IT-Praxis

CRUD-Operationen begegnen dir täglich in der Softwareentwicklung. Content-Management-Systeme, E-Commerce-Plattformen, Verwaltungssoftware - sie alle basieren auf diesen vier grundlegenden Operationen. Wer als Fachinformatiker für Anwendungsentwicklung arbeitet, wird regelmäßig CRUD-basierte Anwendungen entwickeln und pflegen.

Auch Fachinformatiker für Systemintegration kommen mit CRUD in Berührung, etwa bei der Konfiguration von Verzeichnisdiensten, Monitoring-Systemen oder der Automatisierung von Administrationsprozessen.

Quellen und weiterführende Links