Tempo di lettura: < 1 minuto

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.