Belangrijkste verschil: DDL, dat staat voor Data Definition Language, wordt voornamelijk gebruikt om het schema binnen een database te definiëren. Het definieert ook de relatie tussen de vermeldingen in de database. DML, wat staat voor Data Manipulation Language, is ook een databasetaal. In tegenstelling tot DDL kan DML echter worden gebruikt om de gegevens in te voegen, te verwijderen, nieuw leven in te blazen en aan te passen, in plaats van deze alleen op te geven.

DDL, dat staat voor Data Definition Language, wordt voornamelijk gebruikt om het schema binnen een database te definiëren. Het definieert ook de relatie tussen de vermeldingen in de database. DDL kan ook worden gebruikt om bepaalde beveiligingsbeperkingen te definiëren. Zoals eerder vermeld, gebruikt DDL voornamelijk SQL-opdrachten die worden gebruikt om databaseobjecten te maken, wijzigen en vernietigen.
Als de DDL-opdrachten eenmaal zijn uitgevoerd, resulteert dit in nieuwe tabellen die zijn opgeslagen in de "systeemcatalogus". Deze catalogus wordt ook een datadictionary of gegevensdirectory genoemd. De wijzigingen kunnen echter alleen de gegevens in de directory en hun relatie tot elkaar definiëren. Terwijl DML kan worden gebruikt om de gegevens zelf aan te passen.
DML, wat staat voor Data Manipulation Language, is ook een databasetaal. Net als DDL is het vooral de rol van databasebeheer. In tegenstelling tot DDL kan DML echter worden gebruikt om de gegevens in te voegen, te verwijderen, nieuw leven in te blazen en aan te passen, in plaats van deze alleen op te geven.

DML wordt ook vaak gebruikt bij het ophalen van gegevens. Het kan worden onderverdeeld in twee segmenten op basis van de opvraagconstructies: Procedural DML en Non-procedural DML. Procedurale DML geeft aan welke gegevens moeten worden opgehaald en hoe de vereiste gegevens moeten worden opgehaald. Niet-procedurele DML geeft aan welke gegevens moeten worden opgehaald, maar niet hoe de vereiste gegevens moeten worden opgehaald.
Vergelijking tussen DDL en DML in tabelvorm:
DDL | DML | |
Volledige vorm | Data Definition Language | Data Manipulatie Taal |
Soort van | Database taal | Database taal |
Subset van | Structured Query Language (SQL) | Structured Query Language (SQL) |
Toepassingen | Wordt gebruikt voor het definiëren van de gegevensstructuren, met name databaseschema's | Gebruikt voor gegevensmanipulatie van gegevensstructuren |
Types | ||
Gerelateerd aan | Gegevens definiëren | Gegevens invoegen, verwijderen, nieuw leven inblazen en wijzigen |
commando's | CREATE - om objecten in de database te maken ALTER - wijzigt de structuur van de database DROP - verwijder objecten uit de database TRUNCATE - verwijder alle records uit een tabel, inclusief alle spaties die zijn toegewezen voor de records worden verwijderd OPMERKING - voeg opmerkingen toe aan het gegevenswoordenboek RENAME - de naam van een object wijzigen | SELECTEER - haal gegevens uit de a-database INSERT - gegevens in een tabel invoegen UPDATE - updates van bestaande gegevens binnen een tabel DELETE - verwijdert alle records uit een tabel, de ruimte voor de records blijft MERGE - UPSERT-bewerking (invoegen of bijwerken) CALL - bel een PL / SQL- of Java-subprogramma EXPLAIN PLAN - leg het toegangspad tot gegevens uit LOCK TABLE - controle gelijktijdigheid |
Afbeelding met dank aan: sqa.org.uk, sqlinstructor.com