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