Wat is DDL?
Data Definition Language helpt u bij het definiëren van de databasestructuur of het databaseschema. DDL-opdrachten helpen u om de structuur van de database en de andere databaseobjecten te maken. De commando’s worden automatisch gecommitteerd, zodat de wijzigingen permanent in de database worden opgeslagen. De volledige vorm van DDL is Data Definition Language.
In deze tutorial over het verschil tussen DML en DDL, leer je:
- Wat is DDL?
- Wat is DML?
- Waarom DDL?
- Waarom DML?
- Verschil tussen DDL en DML in DBMS
- Opdrachten voor DDL
- Opdrachten voor DML
- Voorbeeld van een DDL-opdracht
- Voorbeeld van een DML-opdracht
Wat is DML?
DML-opdrachten het u mogelijk te maken de in de database opgeslagen gegevens te beheren, hoewel DML-opdrachten niet automatisch worden gecommitteerd. Bovendien zijn ze niet permanent. Het is dus mogelijk de bewerking terug te draaien. De volledige vorm van DML is Data Manipulation Language.
Hieronder volgt het belangrijkste verschil tussen DDL en DML in DBMS:
KEY DIFFERENCES:
- Data Definition Language (DDL) helpt u bij het definiëren van de databasestructuur of het databaseschema, terwijl Data Manipulation Language (DML-opdracht) u in staat stelt de in de database opgeslagen gegevens te beheren.
- DDL-commando wordt gebruikt om het databaseschema te maken, terwijl DML-commando wordt gebruikt om de database te vullen en te manipuleren
- Vergeleken DDL vs DML, DDL-statements hebben invloed op de hele tabel, terwijl DML-commando’s alleen invloed hebben op een of meer rijen.
- In DDL kan SQL Statement niet worden teruggedraaid, terwijl in DML SQL Statement kan worden teruggedraaid.
- DDL is een declaratieve methode terwijl DML een imperatieve methode is.
- Belangrijke DDL-commando’s zijn: 1) CREATE, 2) ALTER, 3) DROP, 4) TRUNCATE, enz. terwijl belangrijke DML-commando’s zijn: 1) INSERT, 2) UPDATE, 3) DELETE, 4) MERGE, enz.
Waarom DDL?
Hier volgen de redenen voor het gebruik van de DDL-methode:
- Mogelijkheid om gedeelde gegevens op te slaan
- Onafhankelijkheid van gegevens verbeterde integriteit
- Mogelijkheid voor meerdere gebruikers
- Betere beveiliging efficiënte toegang tot gegevens
Waarom DML?
Hiernaast staan voordelen/voors van DML:
- Met de DML-statements kunnen de in een database opgeslagen gegevens worden gewijzigd.
- Gebruikers kunnen aangeven welke gegevens nodig zijn.
- DML biedt veel verschillende smaken en mogelijkheden tussen database-leveranciers.
- Het biedt een efficiënte menselijke interactie met het systeem.
Verschil tussen DDL en DML in DBMS
Hier volgt het belangrijkste verschil tussen DDL- en DML-commando’s:
DDL | DML |
Data Definition Language (DDL) helpt u bij het definiëren van de databasestructuur of het schema. | Data Manipulation Language (DML commando) stelt u in staat de in de database opgeslagen gegevens te beheren. |
DDL commando wordt gebruikt om het database schema te maken. | DML commando wordt gebruikt om de database te vullen en te manipuleren |
DDL wordt niet verder geclassificeerd. | DML is ingedeeld in Procedurele en Niet- en Procedurele DML’s. |
CREATE, ALTER, DROP, TRUNCATE EN COMMENT en RENAME, enz. | INSERT, UPDATE, DELETE, MERGE, CALL, enz. |
Het definieert de kolom van de tabel. | Het voegt de rij van de tabel toe of werkt deze bij |
DDL statements hebben invloed op de gehele tabel. | DML heeft effect op een of meer rijen. |
SQL Statement kan geen rollback zijn | SQL Statement kan een rollback zijn |
DDL is declaratief. | DML is imperatief. |
Commando’s voor DDL
Vijf soorten DDL-commando’s zijn:
CREATE
CREATE-opdrachten worden gebruikt om het schema van de databasestructuur te definiëren:
Syntax:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES);
Bijvoorbeeld:
Create database university;Create table students;Create view for_students;
DROP
Drops commando’s verwijderen tabellen en databases uit RDBMS.
Syntax:
DROP TABLE ;
Bijv:
Drop object_type object_name;Drop database university;Drop table student;
ALTER
Alters commando staat u toe de structuur van de database te wijzigen.
Syntax:
Om een nieuwe kolom aan de tabel toe te voegen
ALTER TABLE table_name ADD column_name COLUMN-definition;
Om een bestaande kolom in de tabel te wijzigen:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Bijvoorbeeld:
Alter table guru99 add subject varchar;
TRUNCATE:
Dit commando wordt gebruikt om alle rijen uit de tabel te verwijderen en de ruimte in de tabel vrij te maken.
Syntax:
TRUNCATE TABLE table_name;
Voorbeeld:
TRUNCATE table students;
Commando’s voor DML
Hier volgen enkele belangrijke DML-commando’s:
- INSERT
- UPDATE
- DELETE
INSERT:
Dit is een statement dat een SQL query is. Deze opdracht wordt gebruikt om gegevens in te voegen in de rij van een tabel.
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);
Bijvoorbeeld:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', 'Erichsen');
UPDATE:
Dit commando wordt gebruikt om de waarde van een kolom in de tabel bij te werken of te wijzigen.
Syntax:
UPDATE table_name SET
Bijvoorbeeld:
UPDATE students SET FirstName = 'Jhon', LastName=' Wick' WHERE StudID = 3;
DELETE:
Deze opdracht wordt gebruikt om een of meer rijen uit een tabel te verwijderen.
Syntax:
DELETE FROM table_name ;
Bijv:
DELETE FROM students WHERE FirstName = 'Jhon';
DDL Command Voorbeeld
CREATE
Syntax:
CREATE TABLE tableName( column_1 datatype , column_2 datatype , ...);
Hier,
- De parameter tableName geeft de naam aan van de tabel die u gaat maken.
- De parameters column_1, column_2… geven de kolommen aan die aan de tabel moeten worden toegevoegd.
- Een kolom moet worden opgegeven als NULL of NOT NULL. Als u niet specificeert, neemt SQL Server NULL als standaard
Voorbeeld:
CREATE TABLE Students(Student_ID Int,Student_Name Varchar(10))
ALTER
Syntax:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Voorbeeld:
ALTER TABLE University.Students_Name ADD Course_Duration VARCHAR(20);
DROP
Syntaxis:
DROP TABLE <tableName>;
De parameter tableName is de naam van de tabel die verwijderd moet worden.
Voorbeeld:
DROP TABLE COURSE_NAMES;
DML Command Example
INSERT
In PL/SQL kunnen we de gegevens in een willekeurige tabel invoegen met het SQL commando INSERT INTO. Dit commando neemt de tabelnaam, de tabelkolom en de kolomwaarden als invoer en voegt de waarde in de basistabel in.
Het INSERT commando kan ook de waarden direct uit een andere tabel halen met ‘SELECT’ statement in plaats van de waarden voor elke kolom op te geven. Door middel van ‘SELECT’ kunnen we zoveel rijen invoegen als de basistabel bevat.
Syntax:
BEGIN INSERT INTO <table_name>(<column1 >,<column2>,...<column_n>) VALUES(<valuel><value2>,...:<value_n>);END;
De bovenstaande syntaxis toont het INSERT INTO commando. De tabelnaam en de waarden zijn verplichte velden, terwijl kolomnamen niet verplicht zijn als de insert statements waarden hebben voor alle kolommen van de tabel.
Het sleutelwoord ‘VALUES’ is verplicht als de waarden afzonderlijk worden gegeven, zoals hierboven getoond.
Syntax:
BEGIN INSERT INTO <table_name>(<columnl>,<column2>,...,<column_n>) SELECT <columnl>,<column2>,.. <column_n> FROM <table_name2>;END;
De bovenstaande syntaxis toont de INSERT INTO-opdracht die de waarden rechtstreeks uit de <tabel_naam2> haalt met behulp van de SELECT-opdracht.
Het sleutelwoord ‘VALUES’ mag in dit geval niet aanwezig zijn, omdat de waarden niet afzonderlijk worden gegeven.
DELETE
Hieronder volgt de syntaxis om een tabel te verwijderen
Syntaxis:
DROP TABLE <TableName>;
De parameter TableName is de naam van de tabel die moet worden verwijderd.
Voorbeeld:
DROP TABLE COURSE_NAMES;
SELECT
Om gegevens in SQL Server te bekijken, gebruiken we het SELECT statement.
Syntax:
SELECT expressionFROM tableName;
Voorbeeld:
SELECT * FROM Course;