Generalidades La instrucción UPDATE es la que nos permite actualizar, es decir modificar algún valor de una tabla, en un campo, varios campos a la vez, y todo esto en un registro o varios registros a la vez, para ello se emplean filtros como se utilizan también en las instrucciones SELECT y DELETE. La sintaxis viene siendo la siguiente:
Como se imaginarán hay que tener en cuenta que el 'valor_nuevo' que voy a actualizar en el campo en cuestión debe ser del mismo tipo de datos que este campo tenga en su diseño, que además la longitud de dicho valor no debe superar a la longitu del campo, porque sino los datos se verán truncados e inclusive la actualización se efectuará tal vez sin avisar este error. Filtros Veamos el más común es el WHERE y se utiliza luego de la cláusula SET y el campo o los campos con sus respectivos nuevos valores:
En este ejemplo la consulta nos va a actualizar el campo precio al valor 47 en todos los registros que cumplan con la condición de tener su campo de nombre "id" menor que 100. Los filtros pueden ser uno solo como en el caso anterior o combinaciones de filtros como por ejemplo:
En este ejemplo la consulta nos va a actualizar los registros que cumplan con la condición de tener su campo de nombre "id" menor que 100 y además que el campo nombre sea distinto de 'Administrador', es decir ambas condiciones, si en lugar del operador AND utilizáramos el operador OR, el resultado sería la actualización de los registros que cumplan alguna de las dos condiciones opcionalmente por separado, o una o la otra. Si quisiéramos combinar ambos operadores debemos tener en cuenta que todas las condiciones que serán opcionales, separadas por el operador OR deberán estar encerradas entre paréntesis:
En consecuencia esta consulta actualizará los registros que de nombre tengan 'Administrador', 'Juan' o bien 'Pedro' y a su vez su id sea menor que 100 Actualización de varios campos a la vez Cuando fuera necesario actualizar más de un campo, en uno o más registros a la vez, se puede realizar esto en una sola instrucción, la cual deberá tener todos los pares nombre_de_campo y valor_nuevo separados por coma ( , ) a continuación de la cláusula SET, como mostramos en el siguiente ejemplo:
Tener en cuenta que cuando se realice una actualización de más de un campo como en el ejemplo anterior, se actualizarán los campos de todos los registros o del registro que cumpla los criterios empleados pero esta actualización será para todos por igual, sin poder diferenciar entre un registro y otro, para lo cual si quisiéramos actualizar un valor nuevo para un campo en unos registros y en otro grupo de registros otro valor, lo deberemos realizar en diferentes consultas por separado. |