SQL actualitzacions
Per poder canviar dades d'un registre haurem d'utilitzar la comanda SQL UPDATE. Resumint, aquesta és:
UPDATE <nom_taula> SET <columna1>=<valor1>, <columna2>=<valor2>, etc. WHERE <condició>;
ATENCIÓ: és MOLT important que poseu correctament el WHERE. Si us equivoqueu en la condició matxacareu les dades de tota la taula, i recuperar-les pot ser impossible. Això és similar al què passa amb la comanda DELETE.
Potser val la pena que feu un vistasso a l'article de SQL transaccions per poder desfer els canvis a la base de dades en cas d'error.
Exemple 1
Anem a la base de dades que hem anomenat "<alumne>_insti" d'una sola taula (ho hem fet a l'exercici SQL taules).
$> mysql -u <usuari> -p -h <host> mysql> use <usuari>_insti; mysql> desc assignatures; mysql> select * from assignatures;
I d'aquesta manera ens sortirà una llista d'assignatures introduïdes amb el professor corresponent:
Si volem canviar el nombre d'hores que ocupa l'assignatura "Matemàmiques 2n ESO" que imparteix Pere Font caldrà un UPDATE amb una condició WHERE id_assignatura=1. Per assegurar-nos de que anem bé i de que estem modificant NOMÉS la dada que nosaltres volem, cal provar primer de tot la condició amb el WHERE:
mysql> SELECT * FROM assignatures WHERE id_assignatura=1;
Si només ens apareix l'assignatura que volem, podem procedir.
UPDATE assignatures SET hores=90 WHERE id_assignatura=1;
És clar que també es pot aplicar canvis amb condicions que no siguin una ID, ja que la ID de l'exemple pot diferir d'una base de dades a una altra. Per exemple,
Exercici
Utilitzant aquesta base de dades de les assignatures, aplica les següents modificacions:
Exemple 2
Prenem l'exemple de la base de dades de matrícules de l'institut Arxiu:Ufs.sql.