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 | 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!