![Understanding DDL, DML, DCL, and TCL in SQL: Key Differences Explained](https://img.php.cn/upload/article/000/000/000/173463583284895.jpg)
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
);
Nach dem Login kopieren
Nach dem Login kopieren
-
ALTER: Um eine vorhandene Tabelle zu ändern.
ALTER TABLE students ADD COLUMN grade CHAR(1);
Nach dem Login kopieren
Nach dem Login kopieren
-
DROP: Zum Löschen eines Datenbankobjekts.
DROP TABLE students;
Nach dem Login kopieren
Nach dem Login kopieren
-
TRUNCATE: Um alle Datensätze in einer Tabelle zu löschen.
TRUNCATE TABLE students;
Nach dem Login kopieren
Nach dem Login kopieren
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');
Nach dem Login kopieren
Nach dem Login kopieren
-
UPDATE: Um bestehende Datensätze zu ändern.
UPDATE students
SET age = 21
WHERE id = 1;
Nach dem Login kopieren
Nach dem Login kopieren
-
LÖSCHEN: Zum Entfernen von Datensätzen.
DELETE FROM students
WHERE id = 1;
Nach dem Login kopieren
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
);
Nach dem Login kopieren
Nach dem Login kopieren
-
REVOKE: Zum Entfernen von Berechtigungen.
ALTER TABLE students ADD COLUMN grade CHAR(1);
Nach dem Login kopieren
Nach dem Login kopieren
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;
Nach dem Login kopieren
Nach dem Login kopieren
-
ROLLBACK: Um in der aktuellen Transaktion vorgenommene Änderungen rückgängig zu machen.
TRUNCATE TABLE students;
Nach dem Login kopieren
Nach dem Login kopieren
-
SAVEPOINT: Zum Festlegen eines Punktes innerhalb einer Transaktion für teilweise Rollbacks.
INSERT INTO students (id, name, age, grade)
VALUES (1, 'Alice', 20, 'A');
Nach dem Login kopieren
Nach dem Login kopieren
-
TRANSAKTION EINSTELLEN: Um Eigenschaften für eine Transaktion zu definieren.
UPDATE students
SET age = 21
WHERE id = 1;
Nach dem Login kopieren
Nach dem Login kopieren
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!