Differenza chiave: DDL, che sta per Data Definition Language, viene principalmente utilizzato per definire lo schema all'interno di un database. Definisce anche la relazione tra le voci all'interno del database. DML, che sta per Data Manipulation Language, è anche una lingua del database. Tuttavia, diversamente dal DDL, DML può essere utilizzato per inserire, eliminare, ripristinare e modificare i dati, piuttosto che specificarli.

DDL, che sta per Data Definition Language, viene principalmente utilizzato per definire lo schema all'interno di un database. Definisce anche la relazione tra le voci all'interno del database. DDL può anche essere utilizzato per definire alcuni vincoli di sicurezza. Come precedentemente affermato, DDL utilizza principalmente comandi SQL che vengono utilizzati per creare, modificare e distruggere oggetti di database.
Una volta eseguito, i comandi DDL generano nuove tabelle che sono memorizzate in "catalogo di sistema". Questo catalogo è anche chiamato un dizionario di dati o una directory di dati. Tuttavia, le modifiche possono solo definire i dati all'interno della directory e la loro relazione tra loro. Considerando che, DML può essere utilizzato per modificare i dati stessi.
DML, che sta per Data Manipulation Language, è anche una lingua del database. Come il DDL, è principalmente il ruolo nella gestione dei database. Tuttavia, diversamente dal DDL, DML può essere utilizzato per inserire, eliminare, ripristinare e modificare i dati, piuttosto che specificarli.

Anche il DML viene spesso utilizzato per il recupero dei dati. Può essere diviso in due segmenti in base ai suoi costrutti di recupero: DML procedurale e DML non procedurale. DML procedurale specifica quali dati devono essere recuperati e come devono essere recuperati i dati richiesti. DML non procedurale specifica quali dati devono essere recuperati ma non come i dati richiesti devono essere recuperati.
Confronto tra DDL e DML in forma tabulare:
DDL | DML | |
Modulo completo | Lingua di definizione dei dati | Lingua di manipolazione dei dati |
Tipo di | Linguaggio del database | Linguaggio del database |
Sottoinsieme di | Structured Query Language (SQL) | Structured Query Language (SQL) |
usi | Utilizzato per definire le strutture di dati, in particolare gli schemi di database | Utilizzato per la manipolazione dei dati delle strutture di dati |
tipi | ||
Relativo a | Definizione dei dati | Inserimento, eliminazione, ripristino e modifica dei dati |
comandi | CREA - per creare oggetti nel database ALTER - modifica la struttura del database DROP - cancella gli oggetti dal database TRUNCATE: rimuove tutti i record da una tabella, inclusi tutti gli spazi allocati per i record COMMENTO: aggiungi commenti al dizionario dei dati RENAME - rinomina un oggetto | SELEZIONA: recupera i dati da un database INSERISCI - inserisce i dati in una tabella AGGIORNA - aggiorna i dati esistenti all'interno di una tabella DELETE - cancella tutti i record da una tabella, lo spazio per i record rimane Operazione MERGE - UPSERT (inserimento o aggiornamento) CHIAMATA - chiama un sottoprogramma PL / SQL o Java ESPLORA IL PIANO - spiega il percorso di accesso ai dati LOCK TABLE - controllo della concorrenza |
Cortesia dell'immagine: sqa.org.uk, sqlinstructor.com