🏠 » Datenbank Grundlagen » DBMS » DML, DDL, DCL - Kommandos

DML, DDL, DCL - SQL-Kommandos

In der Datenbanksprache SQL unterscheidet man zwischen drei Formen von SQL-Kommandos:

  • DML-Kommandos (Data Manipulation Language)
  • DDL-Kommandos (Data Definition Language)
  • DCL-Kommandos (Data Control Language)

Neben diesen drei Kommandos existieren noch weitere Formen, wie zum Beispiel die Data Query Language (DQL) bzw. Transaction Control Language (TCL), die hier aber nicht näher behandelt werden, da eine anerkannte Standardisierung fehlt.

DML (Data Manipulation Language)

Die DML (Data Manipulation Language) ist ein Teil der SQL-Sprache, die sich mit allen Auswahl-/Einfüge-/Änderungs- und Löschoperationen beschäftigt. Besonders bei Auswahloperationen kann man enorme Unterschiede feststellen, die sich in ihrer Antwortgeschwindigkeit widerspiegeln.

Beispiele für DML-Kommandos

SELECT-Statement

SELECT [FIRNR], [FIRUSER], [FIRTYP] FROM [dbo].[FIRMA];

Diese Statement liefert alle Firmen, den jeweiligen Primärschlüssel, Firmenbezeichnung und Firmentyp, zurück.

INSERT-Statement

INSERT INTO 
[dbo].[FIRMA]([FIRNR], [FIRUSER], [FIRTYP]) 
VALUES (1,'Musterfirma GmbH',0);

Dieses Statement fügt eine neue Firma hinzu.

UPDATE-Statement:

UPDATE [dbo].[FIRMA] 
SET [NAME] = 'Musterfirma GmbH & Co. KG'
, [FIRTYP] = 1 
WHERE [FIRNR] = 1;

Dieses SQL-Statement ändert die Firmenbezeichnung von „Musterfirma GmbH“ in „Musterfirma GmbH & Co. KG“ um.

DELETE-Statement:

DELETE FROM [dbo].[FIRMA] WHERE FIRNR = 1;

Dieses Statement löscht die Firma "Musterfirma GmbH & Co. KG" mit der Firmennummer 1.

DDL (Data Definition Language)

Die DDL (Data Definition Language) ist ein weiterer Teil der Sprache SQL und ermöglicht die Datenstrukturen und verwandte Elemente zu beschreiben, zu ändern oder zu entfernen.

Beispiele für DDL-Kommandos

CREATE TABLE-Statement:

CREATE TABLE [dbo].[FIRMA](
[FIRNR] INT NOT NULL PRIMARY KEY
,[FIRUSER] VARCHAR(100) NOT NULL
,[FIRTYP] INT NOT NULL);

Dieses Statement erstellt eine Tabelle FIRMA mit einer Primärschlüsselspalte FIRNR, einer Spalte FIRUSER und einer Spalte FIRTYP.

ALTER TABLE-Statement:

ALTER TABLE [dbo].[FIRMA] ADD [USTID] VARCHAR(9);.

Dieses Statement fügt eine neue Spalte USTID für die Umsatzsteuer-Identifikationsnummer mit neun Zeichen in die Tabelle FIRMA ein.

DROP TABLE-Statement:

DROP TABLE [dbo].[FIRMA];

Dieses Statement löscht die Tabelle FIRMA.

DCL (Data Control Language)

Die DCL (Data Control Language) ist der letzte Teil der Sprache SQL, welche die Berechtigungsvergabe von Lese- und Schreibrechten gewährleistet.

Beispiele für DCL-Kommandos

GRANT-Statement:

GRANT SELECT, UPDATE ON TABLE [dbo].[FIRMA] TO SYSUSER;

Dieses Grant-Statement gestattet dem Benutzer bzw. einer Gruppe "SYSUSER" einen lesenden und schreibenden Zugriff auf die Tabelle FIRMA.

REVOKE-Statement:

REVOKE SELECT, UPDATE ON TABLE [dbo].[FIRMA] TO SYSUSER;

Dieses REVOKE-Statement entzieht dem Benutzer bzw. einer Gruppe "SYSUSER" einen lesenden und schreibenden Zugriff auf die Tabelle KUNDEN.

Data Query Language (DQL)

Hin und wieder taucht auch eine eigene Kategorie Data Query Language (DQL) für die Abfrage von Daten auf. Diese Einteilung ist jedoch, auf Grund der nicht vorhandenen Standardisierung, nicht allgemein anerkannt.

Transaction Control Language (TCL)

Einen weiteren Sonderfall bilden die Sprachelemente zur Arbeit mit Transaktionen, die uneinheitlich entweder der DML, der DCL oder einer eigenen Kategorie Transaction Control Language (TCL) zugeordnet werden.

Weiterführende Artikel