UPDATE
serve ad aggiornare i campi di un record esistente.
La sintassi è:
UPDATE nome_tabella SET nome_colonna = nuovo_valore WHERE nome_colonna <operatore> valore;
Prendiamo ad esempio la tabella:
TABELLA: persone | ||
nome | cognome | paese |
Paolo | Bianchi | Milano |
Giuseppe | Rossi | Roma |
Verdi | Roma |
ed eseguiamo la query:
UPDATE persone SET nome = "Francesco" WHERE cognome = "Verdi";
otterremo:
nome | cognome | paese |
Paolo | Bianchi | Milano |
Giuseppe | Rossi | Roma |
Francesco | Verdi | Roma |
UPDATE di diversi campi di un record
UPDATE persone SET nome = "Alessio", paese = "Palermo" WHERE cognome = "Verdi";
produce:
nome | cognome | paese |
Paolo | Bianchi | Milano |
Giuseppe | Rossi | Roma |
Alessio | Verdi | Palermo |
NOTA: è un dovere precisare che negli esempi utilizziamo il cognome nella clausola WHERE
. In un database più complesso è facile che si presentino più record con dati simili (Mario Rossi, Paolo Rossi, ecc.) e una query strutturata in quel modo avrà effetto su tutti i record che hanno verificano la clausola WHERE cognome = "Rossi"
.
Per ovviare al problema, ogni tabella dovrebbe contenere un campo unico, definito come chiave primaria. Lascio all’utente l’approfondimento in attesa di una prossima guida sull’argomento.
UPDATE di tutti i record
I precedenti esempi di UPDATE
, hanno effetto su un singolo record grazie all’uso di WHERE
. Nel caso in cui vogliamo aggiornare in massa tutti i record del database, possiamo usare:
UPDATE persone SET paese = "Italia";
per ottenere:
nome | cognome | paese |
Paolo | Bianchi | Italia |
Giuseppe | Rossi | Italia |
Alessio | Verdi | Italia |
Alcuni preferiscono strutturare la query come segue:
UPDATE persone SET paese = "Italia" WHERE 1;
alla fine produce lo stesso risultato, ma è più completa e salta subito agli occhi che è una query di aggiornamento massivo.
Commenti recenti