back to top

Cenni di SQL: i comandi DML – Guida Oracle

Oggetto di questa lezione sono, invece, i comandi DML; essi sono del tipo:

  • INSERT
  • SELECT
  • DELETE
  • UPDATE
Si tratta, cioè, dei comandi per la manipolazione dei dati.

INSERT

Il comando di INSERT serve per inserire nuovi record (righe di dati) in tabella. Supponiamo di voler inserire nella nostra tabella di anagrafica due record; per farlo scriveremo:

INSERT 
INTO Anagrafica 
VALUES('Mario', 'Rossi', 20000, 'Impiegato');

INSERT 
INTO Anagrafica 
VALUES('Carlo', 'Verdi, 35000, 'Quadro');

Il comando INSERT, così come scritto sopra, può essere utilizzato solo quando nella parte VALUES vengono forniti valori per tutte le colonne della tabella. Nel caso in cui, invece, si vogliono inserire solo i dati di alcune colonne (rispettando gli eventuali vincoli di obbligatorietà della tabella) bisognerà utilizzare la sintassi che possiamo definire completa. Essa, oltre alla parte vista precedentemente, prevede anche l”elenco dei campi della tabella per cui saranno forniti i valori nella rispettiva parte VALUES:

INSERT 
INTO Anagrafica 
(Nome, Cognome, Stipendio) 
VALUES('Lucia', 'Bianchi', 20000);

SELECT

L”istruzione di SELECT viene, invece, utilizzata per interrogare le tabelle:
SELECT * 
FROM Anagrafica;
Con la sintassi appena vista otterremo in risultato tutte le colonne per ogni record appartenente alla nostra tabella. Per ottenere solo specifiche colonne, invece, scriveremo:
SELECT Nome, Cognome 
FROM Anagrafica;
Nello specifico abbiamo chiesto di ottenere in risposta solo le colonne "Nome" e "Cognome" per ogni record presente in tabella. Qualora, invece, si volesse filtrare il risultato limitandolo a specifici record, dovremo far ricorso alla clausola WHERE, in questo modo:
SELECT Nome, Cognome 
FROM Anagrafica 
WHERE Cognome = 'Rossi';

DELETE e UPDATE

L”istruzione DELETE viene utilizzata per eliminare uno o più record dalla tabella. Vediamo un esempio:

DELETE 
FROM Anagrafica 
WHERE Nome = 'Carlo';
Mentre l’istruzione UPDATE viene utilizzata per aggiornare uno o più record presente in tabella:
UPDATE Anagrafica 
SET Ruolo = 'Impiegato' 
WHERE Cognome = 'Bianchi' 
AND Nome = 'Lucia';
Eccezion fatta per la SELECT, che non effettua alcuna modifica in tabella, dopo ognuna delle altre istruzioni elencate in questo capitolo, per far si che le modifiche vengano effettivamente salvate sulla tabella, bisogna effettuare la COMMIT. Tale istruzione, ed altre di questo tipo, saranno trattate in maniera approfondita nel capitolo seguente.

PubblicitÃ