Resumen: en este tutorial, aprenderá a utilizar la sentencia SQL UPDATE para modificar los datos existentes en una tabla.
Sintaxis de SQL UPDATE
La sentencia UPDATE
cambia los datos existentes en una o más filas de una tabla. A continuación se ilustra la sintaxis de la sentencia UPDATE
:
1
2
3
4
5
6
7
|
UPDATE tabla
SET
columna1 = nuevo_valor1,
columna2 = nuevo_valor2,
…
Donde
condición;
|
Para actualizar los datos de una tabla, es necesario:
- En primer lugar, especificar el nombre de la tabla que desea cambiar los datos en la cláusula
UPDATE
. - Segundo, asignar un nuevo valor para la columna que desea actualizar. En caso de que quiera actualizar datos en varias columnas, cada par columna = valor se separa con una coma (,).
- Tercero, especifique qué filas quiere actualizar en la cláusula WHERE. La cláusula
WHERE
es opcional. Si omite la cláusulaWHERE
, se actualizarán todas las filas de la tabla.
El motor de la base de datos emite un mensaje que especifica el número de filas afectadas después de ejecutar la sentencia.
Ejemplos de sentencias SQL UPDATE
Veamos algunos ejemplos de utilización de la sentencia UPDATE
con la tabla employees
:
Ejemplo de actualización SQL UPDATE de una columna
Supongamos que Janet, que tiene el id. de empleado 3, se casa por lo que hay que cambiar su apellido en la tabla employees
.
El registro de Janet en los empleados antes de la actualización es el siguiente:
1
2
3
4
5
6
|
SELECT
employeeid, lastname, firstname
FROM
northwind_bk.empleados
WHERE
employeeid = 3;
|
La siguiente sentencia cambia el apellido de Janet de Levering a Hill:
1
2
3
4
5
|
UPDATE empleados
SET
apellido = ‘Hill’
WHERE
employeeID = 3;
|
Ejecute de nuevo la sentencia SELECT anterior para verificar el cambio:
SQL UPDATE múltiples columnas
Por ejemplo, Janet se mudó a una nueva casa, por lo tanto, su dirección cambió. Ahora, tiene que cambiarla en la tabla employees
utilizando la siguiente sentencia:
1
2
3
4
5
6
7
8
|
UPDATE empleados
SET
dirección = ‘1300 Carter St’,
ciudad = ‘San Jose’,
código postal = 95125,
región = ‘CA’
WHERE
employeeID = 3;
|
SQL UPDATE múltiples filas
La siguiente sentencia UPDATE
incrementa el salario en un 2% para los empleados cuyo salario es inferior a $2000:
1
2
3
4
5
|
UPDATE empleados
SET
salario = salario * 1.02
WHERE
salario < 2000;
|
Los empleados cuyo salario es inferior a 2K recibieron la promoción.
SQL UPDATE from SELECT
La siguiente consulta selecciona al vendedor que ha estado a cargo de más de 100 pedidos:
1
2
3
5
6
7
8
|
SELECT
employeeid, COUNT(orderid)
FROM
pedidos
WHERE
shippeddate IS NOT NULL
GROUP BY employeeid
HAVING COUNT(orderid) > 100;
|
La siguiente consulta aumenta el salario de los mejores vendedores en un 5%. Los ids de los mejores vendedores son proporcionados por una subconsulta.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
UPDATE empleados
SET
salario = salario * 1.05
WHERE
employeeid IN (SELECT
employeeid
FROM
(SELECT
employeeid, COUNT(orderid)
FROM
pedidos
WHERE
shippeddate IS NOT NULL
GROUP BY employeeid
HAVING COUNT(orderid) > 100) bestsalesperson)
|
En este tutorial, hemos mostrado cómo utilizar la sentencia SQL UPDATE para cambiar los datos de una o varias filas de una tabla.
- ¿Ha sido útil este tutorial?
- SíNo