Heim >Datenbank >MySQL-Tutorial >DDL, DML, DCL und TCL in SQL verstehen: Wichtige Unterschiede erklärt

DDL, DML, DCL und TCL in SQL verstehen: Wichtige Unterschiede erklärt

Linda Hamilton
Linda HamiltonOriginal
2024-12-20 03:17:10435Durchsuche

Understanding DDL, DML, DCL, and TCL in SQL: Key Differences Explained

Unterschied zwischen DDL, DML, DCL und TCL

SQL-Befehle werden basierend auf ihrer Funktionalität in Kategorien unterteilt. Hier finden Sie eine Erklärung der Unterschiede zwischen DDL, DML, DCL und TCL sowie Beispiele:


1. DDL (Datendefinitionssprache)

Zweck:

DDL-Befehle werden verwendet, um die Struktur von Datenbankobjekten wie Tabellen, Schemata, Indizes und Ansichten zu definieren und zu verwalten.

Hauptmerkmale:

  • Konzentriert sich auf die Definition und Änderung des Datenbankschemas.
  • Mit DDL-Befehlen vorgenommene Änderungen sind dauerhaft und werden automatisch festgeschrieben.

Beispiele:

  • ERSTELLEN: Zum Erstellen einer Tabelle oder eines Datenbankobjekts.
  CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(100),
      age INT
  );
  • ALTER: Um eine vorhandene Tabelle zu ändern.
  ALTER TABLE students ADD COLUMN grade CHAR(1);
  • DROP: Zum Löschen eines Datenbankobjekts.
  DROP TABLE students;
  • TRUNCATE: Um alle Datensätze in einer Tabelle zu löschen.
  TRUNCATE TABLE students;

Wichtige Punkte:

  • DDL-Befehle definieren die Struktur der Datenbank, nicht ihre Daten.
  • Änderungen automatisch festschreiben (kein Rollback möglich).

2. DML (Datenmanipulationssprache)

Zweck:

DML-Befehle werden zum Bearbeiten von in den Datenbanktabellen gespeicherten Daten verwendet, z. B. zum Abrufen, Einfügen, Aktualisieren oder Löschen von Daten.

Hauptmerkmale:

  • Konzentriert sich eher auf Datenoperationen als auf die Struktur der Datenbank.
  • Änderungen werden nicht automatisch übernommen; Sie können zurückgesetzt werden.

Beispiele:

  • EINFÜGEN: Zum Hinzufügen neuer Datensätze.
  INSERT INTO students (id, name, age, grade)
  VALUES (1, 'Alice', 20, 'A');
  • UPDATE: Um bestehende Datensätze zu ändern.
  UPDATE students
  SET age = 21
  WHERE id = 1;
  • LÖSCHEN: Zum Entfernen von Datensätzen.
  DELETE FROM students
  WHERE id = 1;

Wichtige Punkte:

  • DML-Befehle werden verwendet, um mit den Daten in der Datenbank zu arbeiten.
  • Änderungen erfordern eine explizite Verpflichtung mit einem COMMIT-Befehl.

3. DCL (Data Control Language)

Zweck:

DCL-Befehle werden verwendet, um den Zugriff auf die Datenbank zu steuern und sicherzustellen, dass nur autorisierte Benutzer bestimmte Vorgänge ausführen können.

Hauptmerkmale:

  • Konzentriert sich auf Sicherheit und Benutzerberechtigungen.
  • Gewährt oder widerruft den Zugriff auf Datenbankobjekte.

Beispiele:

  • GRANT: Zum Erteilen von Berechtigungen.
  CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(100),
      age INT
  );
  • REVOKE: Zum Entfernen von Berechtigungen.
  ALTER TABLE students ADD COLUMN grade CHAR(1);

Wichtige Punkte:

  • DCL-Befehle sind für die Aufrechterhaltung der Datenbanksicherheit von entscheidender Bedeutung.
  • Wird von Datenbankadministratoren zur Verwaltung des Benutzerzugriffs verwendet.

4. TCL (Transaction Control Language)

Zweck:

TCL-Befehle verwalten Transaktionen und stellen sicher, dass Datenänderungen konsistent gehandhabt werden und bei Bedarf festgeschrieben oder zurückgesetzt werden können.

Hauptmerkmale:

  • Konzentriert sich auf die Aufrechterhaltung der Integrität von Transaktionen.
  • Nützlich in Szenarien, in denen mehrere DML-Vorgänge als eine Einheit ausgeführt werden müssen.

Beispiele:

  • COMMIT: Um Änderungen dauerhaft zu speichern.
  DROP TABLE students;
  • ROLLBACK: Um in der aktuellen Transaktion vorgenommene Änderungen rückgängig zu machen.
  TRUNCATE TABLE students;
  • SAVEPOINT: Zum Festlegen eines Punktes innerhalb einer Transaktion für teilweise Rollbacks.
  INSERT INTO students (id, name, age, grade)
  VALUES (1, 'Alice', 20, 'A');
  • TRANSAKTION EINSTELLEN: Um Eigenschaften für eine Transaktion zu definieren.
  UPDATE students
  SET age = 21
  WHERE id = 1;

Wichtige Punkte:

  • TCL-Befehle werden verwendet, um die Datenkonsistenz bei komplexen Vorgängen zu verwalten.
  • Änderungen werden mit COMMIT abgeschlossen oder mit ROLLBACK rückgängig gemacht.

Vergleichstabelle

Category Purpose Examples Changes Committed Focus
DDL Defines database structure CREATE, ALTER, DROP Auto-committed Database schema management
DML Manipulates data in the database INSERT, UPDATE, DELETE Not auto-committed Data within tables
DCL Controls access to the database GRANT, REVOKE Auto-committed User permissions and security
TCL Manages database transactions COMMIT, ROLLBACK, SAVEPOINT Requires explicit action Transaction consistency
Kategorie Zweck Beispiele Änderungen vorgenommen Fokus DDL Definiert die Datenbankstruktur ERSTELLEN, ÄNDERN, ENTFERNEN Automatisch festgeschrieben Datenbankschemaverwaltung DML Manipuliert Daten in der Datenbank EINFÜGEN, AKTUALISIEREN, LÖSCHEN Nicht automatisch festgeschrieben Daten in Tabellen DCL Steuert den Zugriff auf die Datenbank GEWÄHREN, WIDERRUFEN Automatisch festgeschrieben Benutzerberechtigungen und Sicherheit TCL Verwaltet Datenbanktransaktionen COMMIT, ROLLBACK, SAVEPOINT Erfordert explizite Aktion Transaktionskonsistenz

Fazit

Das Verständnis der Unterschiede zwischen DDL, DML, DCL und TCL ist für eine effiziente Datenbankverwaltung unerlässlich. Jede Kategorie erfüllt eine bestimmte Rolle und stellt sicher, dass Datenbanken effektiv strukturiert, gesichert und manipuliert werden und gleichzeitig die Datenintegrität gewahrt bleibt.

Hallo, ich bin Abhay Singh Kathayat!
Ich bin ein Full-Stack-Entwickler mit Fachwissen sowohl in Front-End- als auch in Back-End-Technologien. Ich arbeite mit einer Vielzahl von Programmiersprachen und Frameworks, um effiziente, skalierbare und benutzerfreundliche Anwendungen zu erstellen.
Sie können mich gerne unter meiner geschäftlichen E-Mail-Adresse erreichen: kaashshorts28@gmail.com.

Das obige ist der detaillierte Inhalt vonDDL, DML, DCL und TCL in SQL verstehen: Wichtige Unterschiede erklärt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn