Sei qui: Home » Guide » MySQL » Guida di base a MySQL » Modificare i dati di una tabella:l'istruzione UPDATE
Modificare i dati di una tabella:l'istruzione UPDATE
UPDATE tabella SET campi WHERE clausule LIMIT limite;
Ancora non abbimo illustrato né la clausola WHERE né l'istruzione LIMIT ma, al momento, ci basta sapere che WHERE opera una selezione dei record presenti nella tabella, che devono corrispondere a delle condizioni, mentre LIMIT serve a limitare il numero di record restituiti da MySQL in fase di query. Per prima cosa, per vedere un esempio, visualizziamo l'unico record presente nella tabella clienti con l'istruzione SELECT:
SELECT * FROM clienti;
+----+-----------+---------+-----------+---------------------+------------+
| ID | nome | cognome | telefono | data_apertura_conto | tipo_conto |
+----+-----------+---------+-----------+---------------------+------------+
| 1 | Mario | Rossi | 02-12345 | 2007-01-10 | family |
+----+-----------+---------+-----------+---------------------+------------+
1 row in set (0.00 sec)
Se volessimo modificare la data di apertura conto da 2007-01-10 a 2008-01-10 potremmo usare la seguente query ricordandoci che L'ID del sig. Mario Rossi è 1.UPDATE clienti SET data_apertura_conto = '2008-01-10' WHERE ID = '1' LIMIT 1; SELECT * FROM clienti;
+----+-----------+---------+-----------+---------------------+------------+
| ID | nome | cognome | telefono | data_apertura_conto | tipo_conto |
+----+-----------+---------+-----------+---------------------+------------+
| 1 | Mario | Rossi | 02-12345 | 2008-01-10 | family |
+----+-----------+---------+-----------+---------------------+------------+
1 row in set (0.00 sec)
È importantissimo tenere a mente che se non si specificano le condizioni nella clausola WHERE, che nel nostro caso è l'ID pari ad 1 vengono modificati tutti i record nella tabella in questione. Per questo motivo una buona prassi, quando si progetta una query SQL di tipo update, è quella di limitare sempre la portata della query inserendo LIMIT 1. In questo modo, anche omettendo per errore la clausola WHERE, soltanto un record verrà modificato.