3. Data Manipulation Language
Inserimento di tuple
INSERT INTO NomeTabella [ (ListaAttributi) ] < VALUES (ListaValori) | QuerySQL >
- Se ListaAttributi è specificata, ListaValori segue la stessa notazione posizionale
- Se ListaAttributi non è specificata, ListaValori deve contenere un valore per ogni attributo, seguendo la notazione posizionale indicata in fase di creazione della tabella
- Se un attributo non compare in ListaAttributi viene assegnato il valore di default se specificato, altrimenti NULL
- È possibile inserire in una tabella il risultato di una query SQL
INSERT INTO Studente VALUES (’456878’, ’Giorgio’, ‘Rossi’, NULL , ’Logistica’)
INSERT INTO Studente(Matricola, Nome, Cognome, Corso) VALUES (’456878’, ’Giorgio’, ‘Rossi’, ’Logistica’)
INSERT INTO Bolognesi (SELECT * FROM Studente WHERE Città = ’Bologna’)
Eliminazione di tuple
DELETE FROM NomeTabella [ WHERE Condizione ]
- L’istruzione cancella dalla tabella tutte le tuple che soddisfano la condizione
- Il comando può provocare delle cancellazioni in altre tabelle, se è presente un vincolo d’integrità referenziale con politica di cancellazione
CASCADE
- Se si omette la clausola
WHERE, il comando delete cancella tutte le tuple
- Per cancellare completamente la tabella STUDENTE (contenuto e schema):
DROP TABLE Studente
Modifica delle tuple
UPDATE NomeTabella SET Attributo = < Espressione | SelectSQL | NULL | DEFAULT >
{, Attributo = < Espressione | SelectSQL | NULL | DEFAULT >}
[ WHERE Condizione ]
Ex.
UPDATE Esame
SET Commento = NULL
WHERE Data = ‘01-02-03’
// Altro esempio
UPDATE Esame
SET Voto = 30