sql per la modifica di basi di dati db - sql per la modifica di basi di dati2 sql per modificare...

7
SQL Per la modifica di basi di dati

Upload: franco-bellucci

Post on 01-May-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

SQL Per la modifica di basi di dati

Page 2: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

DB - SQL per la modifica di basi di dati 2

SQL per modificare basi di dati

Tre istruzioni: InsertDeleteUpdate

Tutti e tre i comandi possono lavorare su insiemi di tuple

E’ possibile fare riferimento ad altre relazioni

Page 3: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

DB - SQL per la modifica di basi di dati 3

Insert semplice

Sintassi: INSERT INTO TableName [(ListaAttributi)]

< VALUES (ListaDiValori) | SQLSelect > Esempi:

INSERT INTO Esami(Corso, Matricola, Voto)VALUES (‘DB1’, 123456, 27)

INSERT INTO EsamiVALUES (‘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

Page 4: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

DB - SQL per la modifica di basi di dati 4

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, TelefonoFROM Studenti

Corrispondenza tra attributi dev’essere rispettata. La seguente query genera errore: INSERT INTO Indirizzi_Studenti

SELECT Indirizzo, TelefonoFROM Studenti

Variazioni sintattiche tra DBMS diversi

Page 5: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

DB - SQL per la modifica di basi di dati 5

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

Page 6: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

DB - SQL per la modifica di basi di dati 6

Delete

La condizione e’ una normale condizione di SELECT

DELETE piu’ complesse, esempio:DELETE FROM Esami

WHERE Matricola NOT IN(SELECT Matricola FROM Studenti)

Page 7: SQL Per la modifica di basi di dati DB - SQL per la modifica di basi di dati2 SQL per modificare basi di dati Tre istruzioni: Insert Delete Update Tutti

DB - SQL per la modifica di basi di dati 7

Update

Sintassi: UPDATE Tabella

SET Attributo = Espr {,Attributo = Espr}WHERE Condizione

Esempio: UPDATE Aule

SET Aula = 126WHERE Aula = 3

Esempio: Update Persone

Set Reddito = Reddito * 1.1Where Eta < 30