Was ist DDL?
Data Definition Language hilft Ihnen, die Datenbankstruktur oder das Schema zu definieren. Mit DDL-Befehlen können Sie die Struktur der Datenbank und andere Datenbankobjekte erstellen. Die Befehle werden automatisch übertragen, so dass die Änderungen dauerhaft in der Datenbank gespeichert werden. Die vollständige Form von DDL ist Data Definition Language.
In diesem Tutorium über den Unterschied zwischen DML und DDL werden Sie lernen:
- Was ist DDL?
- Was ist DML?
- Warum DDL?
- Warum DML?
- Unterschied zwischen DDL und DML in DBMS
- Befehle für DDL
- Befehle für DML
- Beispiel für DDL-Befehle
- Beispiel für DML-Befehle
Was ist DML?
DML-Befehle erlauben es, die in der Datenbank gespeicherten Daten zu verwalten, obwohl DML-Befehle nicht automatisch übertragen werden. Außerdem sind sie nicht permanent. Es ist also möglich, den Vorgang rückgängig zu machen. Die vollständige Form von DML ist Data Manipulation Language.
Nachfolgend der Hauptunterschied zwischen DDL und DML in DBMS:
SCHLÜSSELUNTERSCHIEDE:
- Data Definition Language (DDL) hilft Ihnen, die Datenbankstruktur oder das Schema zu definieren, während Data Manipulation Language (DML-Befehl) Ihnen erlaubt, die in der Datenbank gespeicherten Daten zu verwalten.
- DDL-Befehl wird verwendet, um das Datenbankschema zu erstellen, während DML-Befehl verwendet wird, um die Datenbank aufzufüllen und zu manipulieren
- Vergleicht man DDL mit DML, so wirken sich DDL-Anweisungen auf die gesamte Tabelle aus, während DML-Befehle nur eine oder mehrere Zeilen betreffen.
- In DDL kann eine SQL-Anweisung nicht rückgängig gemacht werden, während in DML eine SQL-Anweisung rückgängig gemacht werden kann.
- DDL ist eine deklarative Methode, während DML eine imperative Methode ist.
- Wichtige DDL-Befehle sind: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, etc. während wichtige DML-Befehle sind: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, usw.
Warum DDL?
Hier sind Gründe für die Verwendung der DDL Methode:
- Ermöglicht die Speicherung von gemeinsam genutzten Daten
- Datenunabhängigkeit, verbesserte Integrität
- Erlaubt mehreren Benutzern
- Verbesserte Sicherheit, effizienter Datenzugriff
Warum DML?
Hier, Vorteile/ Pros von DML:
- Die DML-Anweisungen ermöglichen es, die in einer Datenbank gespeicherten Daten zu ändern.
- Die Benutzer können angeben, welche Daten benötigt werden.
- DML bietet viele verschiedene Geschmacksrichtungen und Fähigkeiten zwischen Datenbankanbietern.
- Es bietet eine effiziente menschliche Interaktion mit dem System.
Unterschied zwischen DDL und DML in DBMS
Hier ist der Hauptunterschied zwischen DDL und DML Befehlen:
DDL | DML |
Data Definition Language (DDL) hilft Ihnen, die Datenbankstruktur oder das Schema zu definieren. | Data Manipulation Language (DML-Befehl) ermöglicht die Verwaltung der in der Datenbank gespeicherten Daten. |
DDL-Befehl wird zur Erstellung des Datenbankschemas verwendet. | DML-Befehl wird zum Auffüllen und Manipulieren der Datenbank verwendet |
DDL wird nicht weiter klassifiziert. | DML wird in prozedurale und nicht-prozedurale DMLs unterteilt. |
CREATE, ALTER, DROP, TRUNCATE AND COMMENT und RENAME, usw. | INSERT, UPDATE, DELETE, MERGE, CALL, usw. |
Es definiert die Spalte der Tabelle. | Sie fügt die Zeile der Tabelle hinzu oder aktualisiert sie |
DDL-Anweisungen betreffen die gesamte Tabelle. | DML wirkt sich auf eine oder mehrere Zeilen aus. |
SQL-Anweisung kann kein Rollback sein | SQL-Anweisung kann ein Rollback sein |
DDL ist deklarativ. | DML ist zwingend erforderlich. |
Befehle für DDL
Fünf Typen von DDL-Befehlen sind:
CREATE
CREATE-Anweisungen werden verwendet, um das Schema der Datenbankstruktur zu definieren:
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Zum Beispiel:
Create database university;Create table students;Create view for_students;
DROP
Drops-Befehle entfernen Tabellen und Datenbanken aus dem RDBMS.
Syntax:
DROP TABLE ;
Zum Beispiel:
Drop object_type object_name;Drop database university;Drop table student;
ALTER
Mit dem Befehl ALTER können Sie die Struktur der Datenbank ändern.
Syntax:
Zum Hinzufügen einer neuen Spalte in der Tabelle
ALTER TABLE table_name ADD column_name COLUMN-definition;
Zum Ändern einer vorhandenen Spalte in der Tabelle:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Zum Beispiel:
Alter table guru99 add subject varchar;
TRUNCATE:
Dieser Befehl wird verwendet, um alle Zeilen aus der Tabelle zu löschen und den Speicherplatz für die Tabelle freizugeben.
Syntax:
TRUNCATE TABLE table_name;
Beispiel:
TRUNCATE table students;
Befehle für DML
Hier sind einige wichtige DML-Befehle:
- INSERT
- UPDATE
- DELETE
INSERT:
Dies ist eine Anweisung, die eine SQL-Abfrage ist. Dieser Befehl wird verwendet, um Daten in eine Tabellenzeile einzufügen.
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);
Zum Beispiel:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE:
Dieser Befehl wird verwendet, um den Wert einer Spalte in der Tabelle zu aktualisieren oder zu ändern.
Syntax:
UPDATE table_name SET
Zum Beispiel:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE:
Dieser Befehl wird zum Entfernen einer oder mehrerer Zeilen aus einer Tabelle verwendet.
Syntax:
DELETE FROM table_name ;
Zum Beispiel:
DELETE FROM students WHERE FirstName = 'Jhon';
DDL-Befehl Beispiel
CREATE
Syntax:
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Hier,
- Der Parameter tableName bezeichnet den Namen der Tabelle, die Sie erstellen werden.
- Die Parameter column_1, column_2… bezeichnen die Spalten, die der Tabelle hinzugefügt werden sollen.
- Eine Spalte sollte entweder als NULL oder NOT NULL angegeben werden. Wenn Sie nichts angeben, nimmt SQL Server NULL als Standard
Beispiel:
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Syntax:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Beispiel:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Syntax:
DROP TABLE <tableName>;
Der Parameter tableName ist der Name der Tabelle, die gelöscht werden soll.
Beispiel:
DROP TABLE COURSE_NAMES;
DML-Befehl Beispiel
INSERT
In PL/SQL kann man mit dem SQL-Befehl INSERT INTO die Daten in eine beliebige Tabelle einfügen. Dieser Befehl nimmt den Tabellennamen, die Tabellenspalte und die Spaltenwerte als Eingabe und fügt den Wert in die Basistabelle ein.
Der INSERT-Befehl kann die Werte auch direkt aus einer anderen Tabelle mit der SELECT-Anweisung übernehmen, anstatt die Werte für jede Spalte anzugeben. Mit der ‚SELECT‘-Anweisung kann man so viele Zeilen einfügen, wie die Basistabelle enthält.
Syntax:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
Die obige Syntax zeigt den Befehl INSERT INTO. Der Tabellenname und die Werte sind obligatorische Felder, während die Spaltennamen nicht obligatorisch sind, wenn die Einfügeanweisungen Werte für alle Spalten der Tabelle enthalten.
Das Schlüsselwort „VALUES“ ist obligatorisch, wenn die Werte separat angegeben werden, wie oben gezeigt.
Syntax:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
Die obige Syntax zeigt den INSERT INTO-Befehl, der die Werte direkt aus der <Tabelle_name2> mit dem SELECT-Befehl übernimmt.
Das Schlüsselwort ‚VALUES‘ sollte in diesem Fall nicht vorhanden sein, da die Werte nicht separat angegeben werden.
DELETE
Nachfolgend ist die Syntax zum Löschen der Tabelle
Syntax:
DROP TABLE <TableName>;
Der Parameter Tabellenname ist der Name der Tabelle, die gelöscht werden soll.
Beispiel:
DROP TABLE COURSE_NAMES;
SELECT
Um Daten in SQL Server anzuzeigen, verwenden wir die SELECT-Anweisung.
Syntax:
SELECT expressionFROM tableName;
Beispiel:
SELECT * FROM Course;