ACTUALIZACIÓN SQL
La instrucción SQL UPDATE se utiliza a actualizar y modificar los registros presentes en una base de datos . Se utiliza para cambiar los registros ya existentes almacenados en las tablas de la base de datos. Este comando se trabaja junto con WHERE cláusula. La condición especificada en la instrucción UPDATE se usa para decidir qué columnas o filas de la tabla se verán afectadas o modificadas.
El comando ACTUALIZAR también se puede usar para actualizar una tabla con otra tabla. También se puede usar para actualizar la fecha y la hora de una consulta SQL.
ÚNETE A LA ACTUALIZACIÓN DE SQL
La declaración SQL UPDATE también se puede utilizar para actualizar una tabla usando otra tabla que está conectada por una combinación. Esto se conoce como declaración SQL UPDATE JOIN.
UPDATE table1, table2, INNER JOIN table1 ON table1.column1 = table2.column1 SET table1.column1 = table2.column2 WHERE condition
La siguiente es la sintaxis básica de la instrucción UPDATE usando la cláusula JOIN:
Ejemplo:
CREATE TABLE TAE1 (Col1 INT, Col2 INT, Col3 VARCHAR (100)) INSERT INTO TAE1 (Col1, Col2, Col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH'
Primero creemos la primera tabla TAE1.
CREATE TABLE TAE2 (Col1 INT, Col2 INT, Col3 VARCHAR (100)) INSERT INTO TAE2 (Col1, Col2, Col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11,22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR'
Ahora, creemos la segunda tabla TAE2.
SELECT * FROM TAE1
Col1 | Col2 | Col3 |
1 | 11 | Primero |
11 | 12 | Segundo |
21 | 13 | Tercero |
31 | 14 | Cuarto |
Salida:
Ahora veamos el contenido de la tabla TAE2.
SELECT * FROM TAE2
Salida:
Col1 | Col2 | Col3 |
1 | 21 | Dos-uno |
11 | 22 | Dos-dos |
21 | 23 | Dos-tres |
31 | 24 | Dos-cuatro |
Ahora la siguiente consulta actualizará las filas de TAE1 donde el valor de Col1 es 21 y 31 usando la tabla TAE2 donde hay filas similares y donde Col1 es 21 y 31. Solo se actualizarán los registros correspondientes de Col2 y Col3 de la tabla TAE1 .
UPDATE TAE1 SET Col2 = TAE2.Col2, Col3 = TAE2.Col3 FROM TAE1 INNER JOIN TAE2 ON TAE1.Col1 = TAE2.Col1 WHERE TAE1.Col1 IN (21, 31);
Salida:
Col1 | Col2 | Col3 |
1 | 11 | Primero |
11 | 12 | Segundo |
21 | 13 | Dos-tres |
31 | 14 | Dos-cuatro |
Ahora, si se comprueba el contenido de la tabla TAE1, se obtendrá el siguiente resultado.
Sin embargo, el contenido de TAE2 permanece sin cambios.
Col1 | Col2 | Col3 |
1 | 21 | Dos-uno |
11 | 22 | Dos-dos |
21 | 23 | Dos-tres |
31 | 24 | Dos-cuatro |
Este es un ejemplo del uso de la cláusula JOIN con la instrucción UPDATE. Ha fusionado las dos tablas anteriores.
FECHA DE ACTUALIZACIÓN DE SQL
La instrucción SQL UPDATE DATE se usa para actualizar el campo de fecha y hora en SQL.
UPDATE table_name SET data_field = ‘data_value’ WHERE conditions;
La siguiente es la sintaxis general de actualizar el campo de fecha y hora en
UPDATE table_name SET data_field = getdate();
La siguiente es la sintaxis de actualizar la fecha con la fecha actual en
UPDATE table_name SET data_field = CURRENT_TIMESTAMP;
La siguiente es la sintaxis de actualizar la fecha y hora con la fecha y hora actual en SQL:
UPDATE table_name SET data_field = ‘YYYY-MM-DD HH:MM:SS’;
La siguiente es la sintaxis de actualizar la fecha y hora con una fecha y hora específicas en SQL:
UPDATE table_name SET data_field = CAST(‘date_value’ AS DATETIME);
La siguiente es la sintaxis de actualizar la fecha con un valor específico cuando se desconoce el formato de la fecha:
Ejemplo:
UPDATE Employee SET DOJ = ‘2021-07-05’ WHERE Dept_ID = 10;
El siguiente es un ejemplo de cómo actualizar la fecha en varias filas en el Empleado dado. mesa.
Emp_ID | Emp_Name | Designación | Administrador_ID | DOJ | Salario | Dept_ID |
1 | Emp1 | Director | 2021-07-11 | 45000 | 10 | |
2 | Em2 | Director | 2021-07-11 | 40000 | 20 | |
3 | Emp3 | Gerente | Emp1 | 2021-07-11 | 27000 | 10 |
4 | Emp4 | Gerente | Em2 | 2021-10-08 | 25000 | 20 |
5 | Emp5 | Analista | Emp3 | 2021-07-11 | 20000 | 10 |
6 | Emp6 | Analista | Emp3 | 2021-10-08 | 18000 | 10 |
7 | Emp7 | empleado | Emp3 | 2021-07-11 | 15000 | 10 |
8 | Emp8 | Vendedor | Emp4 | 2021-09-09 | 14000 | 20 |
9 | Emp9 | Vendedor | Emp4 | 2021-10-08 | 13000 | 20 |
Consulta:
Salida:
Emp_ID | Emp_Name | Designación | Administrador_ID | DOJ | Salario | Dept_ID |
1 | Emp1 | Director | 2021-07-05 | 45000 | 10 | |
3 | Emp3 | Gerente | Emp1 | 2021-07-05 | 27000 | 10 |
5 | Emp5 | Analista | Emp3 | 2021-07-05 | 20000 | 10 |
6 | Emp6 | Analista | Emp3 | 2021-07-05 | 18000 | 10 |
7 | Emp7 | empleado | Emp3 | 2021-07-05 | 15000 | 10 |
Por lo tanto, se actualizó la columna DOJ para todos los empleados que tienen Dept_ID 10.
El siguiente es el ejemplo de actualización de la fecha de admisión en una tabla de estudiantes usando la función CAST:
UPDATE student
SET admission_date = CAST(‘2021-04-10’ AS DATETIME)
WHERE id = 42;