Salta ai contenuti

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.