Quando parli di DML stai facendo riferimento di una delle tre grandi famiglie di comandi in SQL: il Data Manipulation Language (Linguaggio di Manipolazione Dati). Il DML è in altri termini l’insieme di comandi SQL che ti permettono di gestire e interagire con i dati all’interno degli oggetti del database (come le tabelle). A differenza del DDL (Data Definition Language) che si occupa della struttura del database (creare, modificare, eliminare tabelle, indici, ecc.), il DML si concentra sui contenuti.
In poche parole, il DML è il linguaggio che usi per leggere, inserire, modificare ed eliminare le righe di dati nelle tue tabelle.
I Comandi Principali del DML
Ci sono quattro comandi DML fondamentali che userai praticamente ogni giorno quando lavori con un database:
1. SELECT: Recuperare i Dati
Questo è il comando più usato in assoluto. Ti permette di interrogare il database e recuperare dati specifici dalle tabelle, in base a determinate condizioni.
Scopo: Leggere i dati da una o più tabelle.
Esempio: Voglio recuperare il nome e l’email di tutti gli utenti di sesso maschile.
SELECT Nome, Email
FROM Utenti
WHERE Sesso = 'M';
2. INSERT: Aggiungere Nuovi Dati
Il comando INSERT ti consente di aggiungere nuove righe di dati a una tabella esistente.
Scopo: Inserire nuove righe in una tabella.
Esempio: Voglio aggiungere un nuovo utente alla tabella Utenti.
INSERT INTO Utenti (ID, Nome, Cognome, Email, Sesso)
VALUES (101, 'Luca', 'Esposito', 'luca.esposito@example.com', 'M');
3. UPDATE: Modificare Dati Esistenti
Il comando UPDATE viene usato per modificare i dati in una o più righe esistenti di una tabella. È cruciale specificare una clausola WHERE, altrimenti modificherai tutte le righe della tabella!
Scopo: Modificare i dati di righe esistenti.
Esempio: Voglio aggiornare l’email dell’utente con ID 101.
UPDATE Utenti
SET Email = 'new.luca.esposito@example.com'
WHERE ID = 101;
4. DELETE: Eliminare Dati Esistenti
Il comando DELETE rimuove una o più righe da una tabella. Anche qui, la clausola WHERE è fondamentale per specificare quali righe eliminare; se omessa, eliminerai tutte le righe dalla tabella!
Scopo: Eliminare righe da una tabella.
Esempio: Voglio eliminare l’utente con ID 101.
DELETE FROM Utenti
WHERE ID = 101;
DML in Contesto: DDL e DCL
Per avere un quadro completo delle operazioni SQL, è utile capire come il DML si posiziona rispetto ad altre due categorie principali:
- DDL (Data Definition Language): Si occupa della struttura del database. Comandi come
CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEXrientrano in questa categoria. Sono usati dai DBA (Database Administrator) o dagli sviluppatori per definire o modificare lo schema del database. - DCL (Data Control Language): Si occupa dei permessi e del controllo degli accessi ai dati. Comandi come
GRANT(concedere permessi) eREVOKE(revocare permessi) ne fanno parte.
Il DML è il cuore delle operazioni quotidiane che un’applicazione o un utente finale esegue sul database per interagire con le informazioni. È il linguaggio che fa “vivere” i dati all’interno della struttura definita dal DDL e controllata dal DCL.
