Sei sulla pagina 1di 3

Il Data Manipulation Language di SQL

Il DML di SQL contiene le istruzioni che consentono di inserire, modificare, cancellare i dati delle tabelle.

Il comando INSERT

Il comando INSERT consente di inserire righe in una tabella. Il comando assume forme diverse a seconda che si debba inserire una sola riga o pi righe. Inserimento di una riga

INSERT INTO nome_tabella (nome_colonna, ..., nome_colonna) VALUES (valore, ..., valore) dove valore una costante oppure il valore NULL. Esempio studente matricola nome
1 2 3 Aldo Maria Claudio

cognome
Neri Rosi Verdi

classe
3A 2B 1A

Supponiamo di voler inserire nella tabella studente la riga:


4 Sara Gialli 1A

Dovremo scrivere: INSERT INTO studente (matricola, nome, cognome, classe) VALUES (4, Sara, Gialli, 1A) In questo caso possiamo anche utilizzare una forma abbreviata: INSERT INTO studente VALUES (4, Sara, Gialli, 1A) Siccome stiamo inserendo valori per tutti i campi della tabella, non necessario specificarli. Nel caso in cui si inseriscano solo i valori per alcuni campi, obbligatorio scrivere lelenco dei campi dopo INTO. Per esempio, se la chiave primaria matricola un intero con autoincremento, non bisogna indicarlo poich viene determinato e aggiunto automaticamente dal sistema. Di conseguenza si dovr scrivere: INSERT INTO studente (nome, cognome, classe) VALUES (Sara, Gialli, 1A)
1

Bocchi Cinzia Ultimo aggiornamento: 15/09/2012

Inserimento di pi righe

INSERT INTO nome_tabella (nome_colonna, ..., nome_colonna) interrogazione dove interrogazione un comando SELECT. Esempio studente matricola nome
1 2 3 Aldo Maria Claudio

cognome
Neri Rosi Verdi

classe
3A 2B 1A

Supponiamo di voler inserire nella tabella studente le righe provenienti dalla seguente tabella, che soddisfano la condizione ruolo = studente: persona idPersona nome
1 2 3 4 Vittorio Laura Maria Luca

cognome ruolo
Zai Bai Vai Roi studente studente docente docente

classeFrequentata
3A 2B NULL NULL

Dovremo scrivere: INSERT INTO studente (nome, cognome, classe) SELECT nome, cognome, classeFrequentata FROM persona WHERE ruolo = studente Dopo lesecuzione avremo: studente matricola nome
1 2 3 4 5 Aldo Maria Claudio Vittorio Laura

cognome
Neri Rosi Verdi Zai Bai

classe
3A 2B 1A 3A 2B

Il comando UPDATE

Il comando UPDATE consente di modificare i valori contenuti nelle colonne di una tabella. UPDATE nome_tabella SET nome_colonna = valore, ..., nome_colonna = valore WHERE condizione

Bocchi Cinzia Ultimo aggiornamento: 15/09/2012

Esempio studente matricola nome


1 2 3 Aldo Maria Claudio

cognome
Neri Rosi Verdi

classe
3A 2B 1A

Supponiamo di voler modificare la classe 3A in 3B: UPDATE studente SET classe = 3B WHERE classe = 3A Se la condizione WHERE assente vengono modificate tutte le righe della tabella.

Il comando DELETE

Il comando DELETE consente di eliminare le righe di una tabella. DELETE FROM nome_tabella WHERE condizione Esempio studente matricola nome
1 2 3 4 5 Aldo Maria Claudio Vittorio Laura

cognome
Neri Rosi Verdi Zai Bai

classe
3A 2B 1A 3A 2B

Supponiamo di voler eliminare gli studenti che frequentano la 3A. DELETE FROM studente WHERE classe = 3A Se la condizione WHERE assente vengono cancellate tutte le righe della tabella.

Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. 3

Bocchi Cinzia Ultimo aggiornamento: 15/09/2012