PostgreSQL tiene una instrucción UPDATE que se usa para actualizar o modificar datos existentes en la tabla.
Syntax: UPDATE table SET column1 = value1, column2 = value2, ... WHERE condition;
Analicemos la sintaxis anterior:
- El primer paso es especificar la tabla donde se supone que se deben realizar los cambios.
- Luego enumeramos las columnas cuyo valor se actualizará utilizando la cláusula SET.
- El paso final es determinar qué filas desea actualizar exactamente utilizando la cláusula WHERE .
Configuremos una base de datos y una tabla de muestra para la demostración de la instrucción UPDATE.
- Cree una base de datos llamada «empresa» con el siguiente comando:
CREATE DATABASE company;
- Agregue una tabla de «empleado» para mostrar la jerarquía de la empresa en la base de datos usando el siguiente comando:
CREATE TABLE employee ( employee_id INT PRIMARY KEY, first_name VARCHAR (255) NOT NULL, last_name VARCHAR (255) NOT NULL, manager_id INT, FOREIGN KEY (manager_id) REFERENCES employee (employee_id) ON DELETE CASCADE );
- Ahora agregue algunos datos de empleados a la tabla usando el siguiente comando:
INSERT INTO employee ( employee_id, first_name, last_name, manager_id ) VALUES (1, 'Sandeep', 'Jain', NULL), (2, 'Abhishek ', 'Kelenia', 1), (3, 'Harsh', 'Aggarwal', 1), (4, 'Raju', 'Kumar', 2), (5, 'Nikhil', 'Aggarwal', 2), (6, 'Anshul', 'Aggarwal', 2), (7, 'Virat', 'Kohli', 3), (8, 'Rohit', 'Sharma', 3);
El valor en la columna manager_id representa al gerente sénior al que se reporta el empleado. Si es Nulo, no informa a nadie.
La jerarquía general se parece a la siguiente imagen:Nuestras tablas actuales se ven a continuación:
Ahora actualicemos los datos en la tabla mencionada anteriormente.Ejemplo 1:
Aquí actualizaremos el nombre del empleado «Raju Kumar» a «Raju Singh» usando la instrucción UPDATE.UPDATE employee SET last_name = 'Singh' WHERE first_name = 'Raju';
Producción:
Ejemplo 2:
En lo anterior, hicimos una actualización en una sola fila, pero aquí haremos cambios en varias filas. Aquí cambiaremos el apellido de todos a ‘Gupta’ cuyo apellido es ‘Aggarwal’.UPDATE employee SET last_name = 'Gupta' WHERE last_name = 'Aggarwal';
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA