Guida pratica al Data Manipulation Language (DML) in SQL

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.

SQL

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.

SQL

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.

SQL

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.

SQL

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 INDEX rientrano 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) e REVOKE (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.