sql >> Base de Datos >  >> RDS >> Database

ACTUALIZACIÓN SQL

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 SQL :

UPDATE table_name
 SET data_field = getdate(); 

La siguiente es la sintaxis de actualizar la fecha con la fecha actual en SQL :

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;