Zum Inhalt springen
YellowBlue
IT-Grundlagen4 Min. Lesezeit

DDL und DML: SQL-Befehle im Überblick

Kurzantwort

SQL-Befehle werden in Gruppen eingeteilt. DDL (Data Definition Language) verändert die Struktur der Datenbank – CREATE, ALTER, DROP für Tabellen. DML (Data Manipulation Language) verändert die Daten in den Tabellen – INSERT, UPDATE, DELETE und das lesende SELECT. Wer die Einteilung kennt, versteht sofort, ob ein Befehl das Schema oder die Inhalte betrifft.

Teil des Lernpfads Datenbanken und SQL · Schritt 6 von 9

Zuletzt aktualisiert am

CREATE TABLE, INSERT, DROP – SQL wirkt am Anfang wie ein bunter Haufen Befehle. Dahinter steckt aber eine klare Ordnung: Manche Befehle bauen die Struktur der Datenbank, andere arbeiten mit den Daten darin. Diese Unterscheidung ist der Schlüssel.

Die zwei wichtigsten Sprachfamilien

DDL – die Struktur

DDL-Befehle legen an, ändern und löschen Datenbankobjekte wie Tabellen:

CREATE TABLE azubis (
  id INT PRIMARY KEY,
  name VARCHAR(80),
  lehrjahr INT
);
 
ALTER TABLE azubis ADD beruf VARCHAR(10);
 
DROP TABLE azubis;
BefehlWirkung
CREATEObjekt (z. B. Tabelle) anlegen
ALTERStruktur ändern (Spalte hinzufügen/ändern)
DROPObjekt komplett löschen
TRUNCATEalle Zeilen einer Tabelle leeren (Struktur bleibt)

DML – die Daten

DML-Befehle arbeiten mit den Zeilen in einer bestehenden Tabelle:

INSERT INTO azubis (id, name, lehrjahr) VALUES (1, 'Aylin', 2);
UPDATE azubis SET lehrjahr = 3 WHERE id = 1;
DELETE FROM azubis WHERE id = 1;

Auch das lesende SELECT zählt zur DML (manchmal als eigene „DQL" geführt).

Alle SQL-Sprachfamilien im Überblick

GruppeNameAufgabeTypische Befehle
DDLData Definition LanguageStruktur anlegen, ändern, löschenCREATE, ALTER, DROP, TRUNCATE
DMLData Manipulation LanguageDaten einfügen, ändern, löschenINSERT, UPDATE, DELETE
DQLData Query LanguageDaten abfragenSELECT
DCLData Control LanguageZugriffsrechte vergebenGRANT, REVOKE
TCLTransaction Control LanguageTransaktionen steuernCOMMIT, ROLLBACK

Die Einteilung ist nicht in jedem Lehrbuch gleich: Manche ordnen SELECT der DML zu, andere führen es als eigene Gruppe DQL. Auch TRUNCATE wird je nach Quelle der DDL oder der DML zugerechnet. Wichtig ist, dass du die Grundidee kennst: Struktur (DDL) gegen Daten (DML).

Warum die Einteilung nützt

Selbstkontrolle

Selbstkontrolle

Zu welcher SQL-Sprachfamilie gehört der Befehl INSERT?

Häufige Fragen

Was ist der Unterschied zwischen DELETE und TRUNCATE?

DELETE ist ein DML-Befehl und löscht Zeilen, die einer Bedingung entsprechen; ohne WHERE alle. TRUNCATE ist ein DDL-Befehl und leert die gesamte Tabelle in einem Rutsch, meist schneller und ohne einzelne Zeilenprotokollierung. Die Tabellenstruktur bleibt in beiden Fällen erhalten – gelöscht wird nur der Inhalt.

Warum ist DROP so gefährlich?

DROP entfernt das Objekt selbst, bei DROP TABLE also die komplette Tabelle mitsamt Struktur und Daten. Das lässt sich in der Regel nicht per ROLLBACK rückgängig machen. Deshalb setzt man DROP nur bewusst und mit Vorsicht ein, idealerweise nach einer Sicherung.

Gehört SELECT zu DML?

Häufig ja – SELECT liest Daten und wird oft der DML zugeordnet. Manche Lehrbücher führen es als eigene Kategorie DQL (Data Query Language), weil es Daten nur abfragt und nicht verändert. Für die Praxis ist entscheidend: SELECT ändert nie etwas, es liest ausschließlich.

Welche DML-Befehle gibt es?

Die klassischen DML-Befehle sind INSERT zum Einfügen, UPDATE zum Ändern und DELETE zum Löschen von Datenzeilen. Häufig wird auch SELECT zur DML gezählt, andere Quellen führen es getrennt als DQL.

Was sind DCL und TCL?

DCL (Data Control Language) regelt Zugriffsrechte mit GRANT und REVOKE. TCL (Transaction Control Language) steuert Transaktionen mit COMMIT und ROLLBACK. Beide sind für Fortgeschrittene relevant; für die Grundlagen genügt die sichere Unterscheidung von DDL und DML.

Weiterlesen: Normalisierung: Datenbanken ohne Redundanz · ER-Modell erklärt: Entity-Relationship-Modell · SQL-JOINs erklärt: INNER JOIN und LEFT JOIN

Das Wichtigste in Kürze

  • DDL verändert die Struktur: CREATE, ALTER, DROP, TRUNCATE.
  • DML verändert die Daten: INSERT, UPDATE, DELETE (und lesend SELECT).
  • DELETE (Zeilen) ≠ TRUNCATE (ganze Tabelle) ≠ DROP (Tabelle selbst).
  • UPDATE/DELETE ohne WHERE trifft alle Zeilen – Vorsicht.
  • Ergänzend: DCL (Rechte) und TCL (Transaktionen).

Schlagwörter

Verwandte Beiträge

IT-Grundlagen4 Min. Lesezeit

SQL-Grundlagen: Daten mit SELECT abfragen

Wie du mit SELECT gezielt Daten aus einer Datenbank holst: Spalten wählen, mit WHERE filtern, mit ORDER BY sortieren und mit GROUP BY gruppieren.

IT-Grundlagen3 Min. Lesezeit

Transaktionen und das ACID-Prinzip

Warum Datenbanken zusammengehörige Schritte zu Transaktionen bündeln und was die vier ACID-Eigenschaften bedeuten – erklärt am Beispiel einer Überweisung.

IT-Grundlagen4 Min. Lesezeit

SQL-JOINs erklärt: INNER JOIN und LEFT JOIN

Was ein JOIN in SQL ist, wie INNER JOIN und LEFT JOIN Tabellen über den Fremdschlüssel verbinden und wann welcher Join-Typ das richtige Ergebnis liefert.