SQL Per la modifica di basi di dati
SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti e tre i comandi possono lavorare su insiemi di tuple E’ possibile fare riferimento ad altre relazioni DB - SQL per la modifica di basi di dati
DB - SQL per la modifica di basi di dati Insert semplice Sintassi: INSERT INTO TableName [(ListaAttributi)] < VALUES (ListaDiValori) | SQLSelect > Esempi: INSERT INTO Esami(Corso, Matricola, Voto) VALUES (‘DB1’, 123456, 27) INSERT INTO Esami VALUES (‘DB1’, 123456, 27) Deve rispettare l’ordine degli attributi INSERT INTO Studenti(Nome, Matricola) VALUES (‘Pinco Pallino’, 999999) Gli attributi non specificati (i.e., ‘Indirizzo’ e ‘Telefono’) verranno inizializzati a NULL L’inserimento fallisce se NULL non e’ permesso per gli attributi mancanti DB - SQL per la modifica di basi di dati
DB - SQL per la modifica di basi di dati Insert di piu’ tuple Sintassi: INSERT INTO Tabella [(ListaAttributi)] SQLSelect Inserisce piu’ righe con un solo comando Esempio: Tabella: Indirizzi_Studenti( Indirizzo, Telefono, Email) INSERT INTO Indirizzi_Studenti (Indirizzo, Telefono) SELECT Indirizzo, Telefono FROM Studenti Corrispondenza tra attributi dev’essere rispettata. La seguente query genera errore: INSERT INTO Indirizzi_Studenti SELECT Indirizzo, Telefono FROM Studenti Variazioni sintattiche tra DBMS diversi DB - SQL per la modifica di basi di dati
DB - SQL per la modifica di basi di dati Delete Cancellazione di righe da tabelle Sintassi: DELETE FROM Tabella [WHERE Condizione] Esempio: DELETE FROM Esami WHERE Matricola = 123456 Operazione non (facilmente) reversibile Se la condizione e’ omessa cancella l’intero contenuto della tabella Lo schema resta DB - SQL per la modifica di basi di dati
DB - SQL per la modifica di basi di dati Delete La condizione e’ una normale condizione di SELECT DELETE piu’ complesse, esempio: DELETE FROM Esami WHERE Matricola NOT IN (SELECT Matricola FROM Studenti) DB - SQL per la modifica di basi di dati
DB - SQL per la modifica di basi di dati Update Sintassi: UPDATE Tabella SET Attributo = Espr {,Attributo = Espr} WHERE Condizione Esempio: UPDATE Aule SET Aula = 126 WHERE Aula = 3 Update Persone Set Reddito = Reddito * 1.1 Where Eta < 30 DB - SQL per la modifica di basi di dati