Sentencia UPDATE

Sintaxis

UPDATE– Reemplaza valores de columnas en una tabla.

<DESTUPDATE tabla SET columna = expresión [, …]

[ WHERE condición ]

Entradas

tabla: Nombre de una tabla existente.

columna: Nombre de una columna de la tabla.

SET: Indica que las columnas siguientes se les asignarán valores específicos.

Si se omite el nombre de una de las columnas de la tabla en la cláusula SET, el valor de la misma permanecerá inalterado.

Expresión: Una expresión o valor válidos para asignar a la columna.

condición: Una condición de búsqueda.

WHERE restringe las filas actualizadas a aquellas en las que la condición especificada es TRUE. Si se omite la cláusula WHERE, el driver actualizará todas las filas de la tabla.

La condición de búsqueda en la sentencia UPDATE puede ser uno de los predicados siguientes:

  • Predicado de comparación.
  • Predicado BETWEEN.
  • Predicado IN.
  • Predicado LIKE.
  • Pedicado NULL.
  • Predicado de compración cuantificada.
  • Predicado EXISTS.

Salidas

UPDATE #

Mensaje devuelto si el resultado ha sido satisfactorio. El carácter # significa el número de filas actualizadas. Si # es igual a 0, querrá decir que no se actualizó fila alguna.

Formas de la sentencia UPDATE

La sentencia UPDATE básica actualiza todos los registros de una tabla con nuevos valores.

Ejemplos:

UPDATE ANEXOS SET CODIGO = 10, NOMBRE = ‘Testado’

Actualiza todos los registros solamente si ninguno de los campos es la clave primaria. Si no, retorna error.

UPDATE ANEXOS NOMBRE = ‘Testado’

Actualiza solamente los campos especificados, el resto permanecerán inalterados.

Con expresiones aritméticas

Las opearciones aritméticas usan operandos numéricos.

Ejemplos:

UPDATE LIBROS SET NUM_ANEXOS1 = NUM_ANEXOS2 +10

Evalúa la expresión aritmética y la actualiza en todos los registros.

Cláusula WHERE y sub consultas

Busca registros basándose en una condición y actualiza solamente aquellos que cumplan la condción. La condición de búsqueda pude tener cualesquiera predicados y sub consultas.

  • Predicado de comparación.
  • Predicado BETWEEN.
  • Predicado IN.
  • Predicado LIKE.
  • Pedicado NULL.
  • Predicado de compración cuantificada.
  • Predicado EXISTS.

Ejemplos:

UPDATE ANEXOS SET CODIGO=23 WHERE CODIGO = 22;
UPDATE ANEXOS SET CODIGO= 10 WHERE CODIGO = (SELECT CODIGO FROM IDIOMAS WHERE NOMBRE = ‘test’);
UPDATE ANEXOS SET NOMBRE= NULL;
UPDATE ANEXOS SET NOMBRE =’upd’ WHERE CODIGO = 1500;
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE CODIGO > 3000;
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE CODIGO = 20;
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE CODIGO <= 1500;
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE CODIGO  3000;
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE CODIGO BETWEEN 30 AND 50;
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE  NOMBRE IN ('SMITH', 'WARD');
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE CODIGO >= ALL (SELECT CODIGO FROM IDIOMAS WHERE CODIGO = 20);
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE NOMBRE = SOME (SELECT NOMBRE FROM IDIOMAS WHERE CODIGO > 10);
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE EXISTS (SELECT CODIGO FROM IDIOMAS WHERE CODIGO = 10);
UPDATE ANEXOS SET NOMBRE = ’upd’ WHERE NOMBRE LIKE ‘a_a%’

Notas de uso

La misma columna no puede aparecer más de una vez en la cláusula SELECT.

Si no se especifica ninguna cláusula WHERE serán actualizadas todas las filas de la tabla.