SQL-Befehle: DQL, DDL, DML, DCL & TCL mit Beispielen

⚡ Intelligente Zusammenfassung

SQL-Befehle sind in fünf Untersprachen unterteilt, die eine relationale Datenbank verwalten. DDL definiert die Struktur, DML ändert Daten, DCL steuert den Zugriff, TCL verwaltet Transaktionen und DQL ruft Daten ab; jede Untersprache verfügt über einen eigenen Satz von Anweisungen und eine eigene Syntax.

  • ???? ️ DOF: CREATE, DROP, ALTER und TRUNCATE definieren und ändern das Schema von Tabellen und Datenbanken.
  • ️ DML: INSERT, UPDATE und DELETE verändern die Zeilen in einer Tabelle.
  • 🔑 DCL: GRANT und REVOKE erteilen bzw. entziehen Zugriffsrechte auf Datenbankobjekte.
  • 🔄 TCL: COMMIT, ROLLBACK und SAVEPOINT steuern, wie Transaktionen gespeichert oder rückgängig gemacht werden.
  • 🔍 DQL: SELECT ruft Zeilen ab, die durch die WHERE-Klausel gefiltert werden.
  • 🗄️ Standardsprache: Alle wichtigen RDBMS, von MySQL zu Oracle und SQL Server verwendet SQL.
  • ⚠️ Hauptkontrast: Sowohl TRUNCATE als auch DELETE löschen Zeilen, aber TRUNCATE ist eine DDL-Anweisung und arbeitet nicht zeilenweise.

SQL-Befehle: DQL, DDL, DML, DCL, TCL

Was ist SQL?

SQL ist eine Datenbanksprache, die für den Abruf und die Verwaltung von Daten in einer relationalen Datenbank entwickelt wurde.

SQL ist die Standardsprache für die Datenbankverwaltung. Alle RDBMS-Systeme mögen MySQL, MS Access, OracleSybase, PostgreSQL und SQL Server verwenden SQL als Standarddatenbanksprache. Die SQL-Programmiersprache nutzt verschiedene Befehle für unterschiedliche Operationen. Wir werden die Befehle DCL, TCL, DQL, DDL und DML in SQL anhand von Beispielen kennenlernen.

Warum SQL verwenden?

Hier sind wichtige Gründe für die Verwendung von SQL:

  • Es hilft Benutzern beim Zugriff auf Daten in der RDBMS-System.
  • Es hilft Ihnen, die Daten zu beschreiben.
  • Es ermöglicht Ihnen, die Daten in einer Datenbank zu definieren und diese spezifischen Daten zu bearbeiten.
  • Mithilfe von SQL-Befehlen können Sie Datenbanken und Tabellen erstellen und löschen.
  • Mit SQL können Sie Funktionen in einer Datenbank verwenden und Ansichten sowie gespeicherte Prozeduren erstellen.
  • Sie können Berechtigungen für Tabellen, Prozeduren und Ansichten festlegen.

Kurze Geschichte von SQL

Hier sind wichtige Orientierungspunkte aus der Geschichte von SQL:

  • 1970 – Dr. Edgar F. „Ted“ Codd beschrieb ein relationales Modell für Datenbanken.
  • 1974 – Die Structured Query Language (SQL) erschien, ursprünglich SEQUEL genannt. IBM.
  • 1979 - Oracle veröffentlichte die erste kommerziell erhältliche SQL-basierte Datenbank, basierend auf IBM's System R Forschungsprototyp.
  • 1986 – ANSI veröffentlichte den ersten SQL-Standard, SQL-86.
  • 1989 – SQL-89 erschien als erste Überarbeitung des Standards.
  • 1992 – SQL-92 (SQL2) wurde zur wichtigsten Basis, auf die sich die meisten Datenbanken noch heute beziehen.
  • 1999 – SQL:1999 (SQL3) wurde mit Funktionen wie Triggern, rekursiven Abfragen und Objektorientierung eingeführt.
  • 2003 – SQL:2003 fügte Fensterfunktionen, Sequenzgeneratoren und XML-bezogene Funktionen hinzu.
  • 2006 – SQL:2006 fügte Unterstützung für die XML-Abfragesprache (XQuery) hinzu.
  • 2008 – Mit SQL:2008 wurden die TRUNCATE-Anweisung und INSTEAD OF-Trigger eingeführt.
  • 2011 – SQL:2011 verbesserte Unterstützung für temporale Datenbanken.
  • 2016 – SQL:2016 fügte JSON-Unterstützung und Zeilenmustervergleich (MATCH_RECOGNIZE) hinzu.
  • 2019 – SQL/MDA (Teil 15) hat die Unterstützung für mehrdimensionale Arrays in den Standard aufgenommen.
  • 2023 – SQL:2023 fügte einen nativen JSON-Datentyp und Property-Graph-Abfragen (SQL/PGQ) hinzu.
  • 2024 – GQL, die erste neue ISO-Datenbanksprache seit SQL, wurde als Begleitstandard für Graphabfragen veröffentlicht.
  • 2026 – SQL:2023 bleibt der aktuelle Standard, die nächste Revision befindet sich bei ISO/IEC in der Entwicklung.

Arten von SQL-Befehlen

Hier sind fünf Arten von häufig verwendeten SQL-Befehlen:

  • Datendefinitionssprache (DDL)
  • Datenmanipulationssprache (DML)
  • Datenkontrollsprache (DCL)
  • Transaktionskontrollsprache (TCL)
  • Datenabfragesprache (DQL)
Arten von SQL-Befehlen
Arten von SQL

Die folgende Tabelle fasst die fünf Kategorien zusammen, bevor jede einzelne im Detail erläutert wird.

Kategorie Zweck Hauptbefehle
DDL Struktur definieren ERSTELLEN, LÖSCHEN, ÄNDERN, ABNEHMEN
DML Daten ändern EINFÜGEN, AKTUALISIEREN, LÖSCHEN
DCL Kontrollieren Sie den Zugriff Gewähren, Widerrufen
TCL Transaktionen verwalten COMMIT, ROLLBACK, SAVEPOINT
DQL Daten abrufen SELECT

Was ist DDL?

Die Data Definition Language (DDL) hilft Ihnen, die Datenbankstruktur bzw. das Schema zu definieren. Lernen wir die DDL-Befehle und ihre Syntax kennen. Die wichtigsten DDL-Befehle in SQL sind CREATE, DROP, ALTER und TRUNCATE.

CREATE

Die CREATE-Anweisung dient zur Definition der Datenbankstruktur oder des Schemas:

Syntax:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Beispielsweise:

Create database university;
Create table students;
Create view for_students;

DROP

Der Befehl DROP entfernt Tabellen und Datenbanken aus dem RDBMS.

Syntax:

DROP TABLE ;

Beispielsweise:

Drop object_type object_name;
Drop database university;
Drop table student;

ALTER

Mit dem ALTER-Befehl können Sie die Struktur der Datenbank ändern.

Syntax: um eine neue Spalte in der Tabelle hinzuzufügen:

ALTER TABLE table_name ADD column_name COLUMN-definition;

So ändern Sie eine vorhandene Spalte in der Tabelle:

ALTER TABLE MODIFY(COLUMN DEFINITION....);

Beispielsweise:

Alter table guru99 add subject varchar;

KÜRZEN

Dieser Befehl wird verwendet, um alle Zeilen aus der Tabelle zu löschen und den Platz freizugeben, der die Tabelle enthält.

Syntax:

TRUNCATE TABLE table_name;

Ejemplo:

TRUNCATE table students;

Was ist eine Datenmanipulationssprache?

Die Datenmanipulationssprache (DML) ermöglicht es Ihnen, die Datenbankinstanz durch Einfügen, Ändern und Löschen von Daten zu modifizieren. Sie ist für alle Arten von Datenänderungen in einer Datenbank zuständig. Die wichtigsten DML-Befehle in SQL sind:

  • INSERT
  • AKTUALISIEREN
  • LÖSCHEN

INSERT

Mit dieser Anweisung werden Daten in die Zeilen einer Tabelle eingefügt.

Syntax:

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N)
VALUES (value1, value2, value3, .... valueN);
Or
INSERT INTO TABLE_NAME
VALUES (value1, value2, value3, .... valueN);

Beispielsweise:

INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');

AKTUALISIEREN

Mit diesem Befehl können Sie den Wert einer Spalte in der Tabelle aktualisieren oder ändern.

Syntax:

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

Beispielsweise:

UPDATE students
SET FirstName = 'Jhon', LastName= 'Wick'
WHERE StudID = 3;

LÖSCHEN

Mit diesem Befehl können Sie eine oder mehrere Zeilen aus einer Tabelle entfernen.

Syntax:

DELETE FROM table_name [WHERE condition];

Beispielsweise:

DELETE FROM students
WHERE FirstName = 'Jhon';

Was ist DCL?

DCL (Data Control Language) umfasst Befehle wie GRANT und REVOKE, die zur Vergabe von Rechten und Berechtigungen dienen. Weitere Befehle steuern Parameter des Datenbanksystems.

Gewähren

Mit diesem Befehl wird einem Benutzer Zugriffsrechte auf eine Datenbank erteilt.

Syntax:

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

Beispielsweise:

GRANT SELECT ON Users TO'Tom'@'localhost;

Revin Ordnung

Dieser Befehl ist nützlich, um dem Benutzer Berechtigungen wieder zu entziehen.

Syntax:

REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}

Beispielsweise:

REVOKE SELECT, UPDATE ON student FROM BCA, MCA;

Was ist TCL?

Die Transaktionssteuerungssprache (TCL-Befehle) steuert Transaktionen innerhalb der Datenbank. Sie arbeitet direkt mit den unter [Link einfügen] beschriebenen Zuständen. Transaktionsmanagement.

Verpflichten

Mit diesem Befehl werden alle Transaktionen in der Datenbank gespeichert.

Syntax:

Commit;

Beispielsweise:

DELETE FROM Students
WHERE RollNo =25;
COMMIT;

Rollback

Mit dem Befehl „Rollback“ können Sie Transaktionen rückgängig machen, die noch nicht in der Datenbank gespeichert wurden.

Syntax:

ROLLBACK;

Ejemplo:

DELETE FROM Students
WHERE RollNo =25;

SPEICHERPUNKT

Mit diesem Befehl können Sie einen Speicherpunkt innerhalb einer Transaktion festlegen.

Syntax:

SAVEPOINT SAVEPOINT_NAME;

Ejemplo:

SAVEPOINT RollNo;

Was ist DQL?

Die Datenabfragesprache (DQL) dient zum Abrufen von Daten aus der Datenbank. Sie verwendet nur einen Befehl: SELECT.

SELECT

Dieser Befehl hilft Ihnen, die Attribute anhand der in der WHERE-Klausel beschriebenen Bedingung auszuwählen.

Syntax:

SELECT expressions
FROM TABLES
WHERE conditions;

Beispielsweise:

SELECT FirstName
FROM Student
WHERE RollNo > 15;

LÖSCHEN vs. ABKÜRZEN vs. VERWERFEN

Diese drei Befehle löschen zwar alle Daten, unterscheiden sich aber darin, welche Daten gelöscht werden und ob die Aktion rückgängig gemacht werden kann. Sie zu verwechseln, ist ein häufiger Anfängerfehler.

Aspekt LÖSCHEN KÜRZEN DROP
Kategorie DML DDL DDL
Entfernt Ausgewählte Zeilen Alle Zeilen Der ganze Tisch
WHERE-Klausel Erlaubt Nicht erlaubt Unzutreffend
Rollback Möglich Normalerweise nicht Nicht möglich
Struktur erhalten Ja Ja Nein

Kurz gesagt: Verwenden Sie DELETE, um bestimmte Zeilen zu entfernen, TRUNCATE, um eine Tabelle schnell zu leeren, und DROP, um die Tabelle vollständig zu verwerfen.

Häufig gestellte Fragen

DELETE ist ein DML-Befehl, der ausgewählte Zeilen löscht und rückgängig gemacht werden kann. TRUNCATE ist ein DDL-Befehl, der alle Zeilen auf einmal löscht, schneller ist und in der Regel nicht rückgängig gemacht werden kann.

Sie gehören zur Data Control Language (DCL). GRANT erteilt einem Benutzer Berechtigungen für ein Datenbankobjekt, REVOKE entzieht diese Berechtigungen; zusammen steuern sie den Zugriff und die Sicherheit.

Ja. Text-zu-SQL-Modelle wandeln eine Anfrage in natürlicher Sprache in eine SELECT-Anweisung oder eine andere Anweisung gegen ein bekanntes Schema um. Überprüfen Sie die generierte Abfrage immer, bevor Sie sie mit Produktionsdaten ausführen.

Ja. Durch die Analyse des Ausführungsplans kann die KI einen Index, eine umgeschriebene Join-Klausel oder eine Änderung der WHERE-Klausel vorschlagen, um die Kosten zu senken. Der Vorschlag sollte getestet werden, da der schnellste Plan von den Daten abhängt.

DDL definiert oder ändert die Struktur der Datenbank, beispielsweise Tabellen und Spalten. DML ändert die in dieser Struktur enthaltenen Daten durch INSERT, UPDATE und DELETE. Der wesentliche Unterschied liegt in der Struktur versus dem Inhalt.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: