SQL: declaración de actualización

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

SQL: declaración de actualización

Este tutorial de SQL explica cómo usar la instrucción SQL UPDATE con sintaxis, ejemplos y ejercicios.

describir

La instrucción SQL UPDATE se usa para actualizar los registros existentes en una tabla.

sintaxis

La sintaxis de la instrucción UPDATE al actualizar una tabla en SQL es:

UPDATE table
SET column1 = expression1,
    column2 = expression2,
    ...
[WHERE conditions];

o

Al actualizar una tabla con datos de otra tabla, la sintaxis de la instrucción SQL UPDATE es:

UPDATE table1
SET column1 = (SELECT expression1
               FROM table2
               WHERE conditions)
[WHERE conditions];

o

La sintaxis de la instrucción SQL UPDATE al actualizar varias tablas (no permitido por Oracle) es:

UPDATE table1, table2, ...
SET column1 = expression1,
    column2 = expression2,
    ...
WHERE table1.column = table2.column
[AND conditions];

parámetro o parámetro

column1, column2 Las columnas a actualizar. expresión1, expresión2 Estos son los nuevos valores asignados a columna1, columna2. Por lo tanto, a la columna1 se le asignará el valor de expresión1, a la columna2 se le asignará el valor de expresión2, y así sucesivamente. La condición WHERE es opcional. Condiciones que se deben cumplir para realizar una actualización. Si no se proporciona ninguna condición, se actualizan todos los registros de la tabla.

Ejemplo de DDL/DML

Si desea seguir este tutorial, obtenga DDL para crear las tablas y DML para completar los datos. ¡Entonces pruebe los ejemplos en su propia base de datos!

Ejemplo: actualizar una sola columna

Veamos un ejemplo que muestra cómo actualizar una sola columna en una tabla usando la instrucción SQL UPDATE.

En este ejemplo de ACTUALIZACIÓN, tenemos una tabla llamada clientes con los siguientes datos:

Identificación del cliente apellido nombre sitio favorito
4000 jackson José Red de Ciencia y Tecnología
5000 Herrero simple digminecraft.com
6000 Ferguson samantha granactividad.com
7000 Reynolds Alan revisatumath.com
8000 anderson Página nulo
9000 Johnson Derek Red de Ciencia y Tecnología

Ahora demostremos cómo funciona la instrucción UPDATE actualizando una columna en la tabla de clientes. Ingrese la siguiente declaración de actualización:

UPDATE customers
SET first_name="Judy"
WHERE customer_id = 8000;

Se actualizará 1 registro. Seleccione de nuevo los datos de la tabla de clientes:

SELECT * FROM customers;

Estos son los resultados que deberías ver:

Identificación del cliente apellido nombre sitio favorito
4000 jackson José Red de Ciencia y Tecnología
5000 Herrero simple digminecraft.com
6000 Ferguson samantha granactividad.com
7000 Reynolds Alan revisatumath.com
8000 anderson judy nulo
9000 Johnson Derek Red de Ciencia y Tecnología

En este ejemplo de ACTUALIZACIÓN, el campo first_name en la tabla de clientes se establece en “Judy”, donde customer_id es igual a 8000.

Ejemplo: actualizar varias columnas

Veamos un ejemplo de ACTUALIZACIÓN que muestra cómo actualizar varias columnas en una tabla.

propina: Al actualizar varias columnas en una instrucción UPDATE, separe los pares de columna/valor separados por comas en la cláusula SET.

En este ejemplo de ACTUALIZACIÓN, tenemos una tabla llamada proveedor con los siguientes datos:

Identificación del proveedor Nombre del proveedor Ciudad Expresar
100 microsoft Redmond Washington
200 Google paisaje de la cima de la montaña California
300 Oráculo ciudad de secoya California
400 Kimberly Clark Owen Texas
500 Alimentos Tyson Springdale Arkansas
600 sc johnson Racine el estado de wisconsin
700 Alimentos Dole pueblo del lago oeste California
800 flores comida thomasville Georgia
900 Artes electrónicas ciudad de secoya California

Ahora demostremos cómo usar la instrucción UPDATE para actualizar varios valores de columna a la vez. Ingrese la siguiente declaración de actualización:

UPDATE suppliers
SET supplier_id = 150,
    supplier_name="Apple",
    city = 'Cupertino'
WHERE supplier_name="Google";

Se actualizará 1 registro. Seleccione de nuevo los datos de la tabla de proveedores:

SELECT * FROM suppliers;

Estos son los resultados que deberías ver:

Identificación del proveedor Nombre del proveedor Ciudad Expresar
100 microsoft Redmond Washington
150 manzana Cupertino California
300 Oráculo ciudad de secoya California
400 Kimberly Clark Owen Texas
500 Alimentos Tyson Springdale Arkansas
600 sc johnson Racine el estado de wisconsin
700 Alimentos Dole pueblo del lago oeste California
800 flores comida thomasville Georgia
900 Artes electrónicas ciudad de secoya California

Esta ACTUALIZACIÓN de ejemplo actualizaría la identificación del proveedor a 150, el nombre del proveedor a “Apple” y la ciudad a “Cupertino”, donde el nombre del proveedor es “Google”.

Ejemplo: actualizar una tabla con datos de otra tabla

Veamos un ejemplo de ACTUALIZACIÓN que muestra cómo actualizar una tabla con datos de otra tabla.

En este ejemplo de ACTUALIZACIÓN, tenemos una tabla llamada productos con los siguientes datos:

ID del Producto nombre del producto categoria ID
1 pera 50
2 plátano 50
3 mandarina 50
4 manzana 50
5 pan de molde 75
6 jamón 25
7 kleenex nulo

También hay una tabla llamada summary_data que contiene los siguientes datos:

ID del Producto categoría actual
1 10
2 10
3 10
4 10
5 10
8 10

Ahora actualicemos la tabla summary_data con los valores de la tabla de productos. Ingrese la siguiente declaración de actualización:

UPDATE summary_data
SET current_category = (SELECT category_id
   FROM products
   WHERE products.product_id = summary_data.product_id)
WHERE EXISTS (SELECT category_id
   FROM products
   WHERE products.product_id = summary_data.product_id);

Habrá 5 registros actualizados. Seleccione datos de la tabla summary_data nuevamente:

SELECT * FROM summary_data;

Estos son los resultados que deberías ver:

ID del Producto categoría actual
1 50
2 50
3 50
4 50
5 75
8 10

Este ejemplo actualiza el campo categoría_actual en la tabla de datos_resumen con el id_categoría en la tabla de productos donde coincide el valor id_producto. Se han actualizado los primeros 5 registros de la tabla summary_data.

propina: Tenga en cuenta que nuestra instrucción UPDATE incluye una condición EXISTS en la cláusula WHERE para garantizar que haya un product_id coincidente en las tablas de productos y de datos de resumen antes de actualizar el registro.

Si no incluyéramos la condición EXISTE, la consulta ACTUALIZAR actualizaría el campo categoría_actual en la fila 6 de la tabla de datos_resumen a NULL (porque la tabla de productos no tiene registro para product_id=8).

práctica práctica

Si desea poner a prueba sus habilidades con las sentencias SQL UPDATE, pruebe algunos de nuestros ejercicios.

Estos ejercicios le permiten usar la instrucción UPDATE para probar sus habilidades. Recibirá preguntas que necesitan ser resueltas. Después de cada ejercicio, proporcionamos soluciones para que puedas comprobar tus respuestas. ¡Darle una oportunidad!