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: