Salta ai contenuti
Manuale LogoManuale Logo

UPDATE

UPDATE serve quando un dato esiste già, ma deve cambiare.

Un cliente cambia città. Un prodotto cambia prezzo. Un ordine passa da “in preparazione” a “spedito”. In tutti questi casi non vuoi creare una nuova riga: vuoi aggiornare quella giusta.

Ecco la forma base:

UPDATE clienti
SET citta = 'Bologna'
WHERE id = 1;

Questa query dice:

“Nella tabella clienti, cambia la città in Bologna, ma solo per la riga con id = 1.”

SET indica cosa deve cambiare:

SET citta = 'Bologna'

Puoi aggiornare anche più colonne insieme:

UPDATE clienti
SET citta = 'Bologna', email = 'luca.nuova@email.it'
WHERE id = 1;

Qui cambi sia la città sia l’email dello stesso cliente.

La parte più delicata è WHERE.

WHERE id = 1

Questa condizione sceglie la riga da modificare. Senza di lei, il database non sa che vuoi aggiornare un solo cliente.

Attenzione: Un UPDATE senza WHERE può modificare tutte le righe della tabella.

Prima di fare un aggiornamento importante, prova la condizione con una SELECT:

SELECT *
FROM clienti
WHERE id = 1;

Se la SELECT mostra una sola riga, sai che l’UPDATE toccherà una sola riga. Se ne mostra molte, fermati e controlla meglio il filtro.

A volte il nuovo valore dipende da quello già presente.

Per esempio, questa query aumenta del 10% il prezzo di un prodotto:

UPDATE prodotti
SET prezzo = prezzo * 1.10
WHERE id = 5;

prezzo * 1.10 significa: “prendi il prezzo attuale e moltiplicalo per 1,10”.

È una possibilità utile, ma va usata con attenzione. Anche qui, il filtro WHERE decide quali righe cambieranno.

  • UPDATE modifica righe già esistenti.
  • SET dice quali colonne cambiare.
  • WHERE dice quali righe modificare.
  • Prima di un aggiornamento importante, controlla il filtro con una SELECT.
  • Senza WHERE, rischi di aggiornare tutta la tabella.