Actualizando datos de tablas en SQL

Actualizado: 12 jun


La sentencia UPDATE nos da la opcion de modificar una o variedades de columnas de un registro o varios.


Estas modificaciones se aplicaran a los registros que cumplan la condición de la cláusula “WHERE” de la sentencia, por lo tanto si una sentencia UPDATE no implementase esta cláusula, se modificaran todos los registros de la tabla.


  • Su sintaxis es:

UPDATE nombre_tabla

SET nom_columna = (nuevo_valor) [, nom_columna = (nuevo_valor )]

[WHERE condición.]


  • Ejemplo:

UPDATE hr.employes SET salary = 30000

WHERE employee_id = 100;

Esta sentencia UPDATE, actualiza el campo salario del empleado con la id 100.


Para asignar un valor a las columnas se pueden usar:

  • Un valor único.

  • UPDATE hr.employes SET salary = 30000

Esta sentencia UPDATE, nos va a actualizar el campo de salario de todos los empleados.


  • Una subconsulta.

  • Pero esta subconsulta solo puede devolver un solo campo con un solo registro, en caso contrario se producirá un error.

  • UPDATE hr.employes SET salary = (select max(salary) FROM employees)


Esta sentencia UPDATE, actualiza el campo salario de todos los empleados, para que tengan el mismo salario que el salario más alto.

  • Ejemplos sentencia update

La siguiente sentencia que está actualizando 2 campos con la función LOWER y donde no está usando la cláusula ” WHERE”, convertirá el nombre y apellido de todos los empleados de la tabla profesores a minúsculas


UPDATE profesores

SET nombre = LOWER(nombre) , apellido = LOWER(nombre);


La siguiente sentencia que va actualizar el campo de sueldo con el resultado de una subconsulta y usa la cláusula ” WHERE”, actualizará el sueldo de todos los empleados cuya id sea mayo a 4 y el nuevo sueldo será igual al sueldo mayor que existe en la tabla.


UPDATE profesores

SET sueldo = (select MAX(sueldo) FROM profesores)

WHERE id_profesor > 4;


La próxima sentencia que actualiza el campo sueldo, usando el operador ”IN” en la cláusula “WHERE”, actualizará el sueldo a 45000 de todos los profesores cuya id sea igual a alguna id devuelta por la subconsulta.


UPDATE profesores SET sueldo = 45000

WHERE id_profesor IN ( SELECT id_profesor FROM profesores

WHERE sueldo < 45000);


La próxima sentencia que está actualizando el campo sueldo con el campo sueldo de una subconsulta, dará error, ya que esta subconsulta devuelve más de un registro.


UPDATE profesores SET sueldo = ( SELECT sueldo FROM profesores

WHERE sueldo > 40000)


Ejemplos Sentencia Update



0 visualizaciones0 comentarios

Entradas Recientes

Ver todo