La sentencia `DELETE` de PostgreSQL se utiliza para eliminar filas de una tabla. Permite eliminar registros concretos en función de una condición, o todos los registros si no se especifica ninguna condición.
Utilización
La sentencia `DELETE` se emplea cuando necesitas eliminar datos de una tabla. Se suele utilizar para borrar datos obsoletos o incorrectos.
En esta sintaxis, `DELETE FROM nombre_tabla` especifica la tabla de la que quieres eliminar filas, mientras que la condición opcional `WHERE` determina qué filas eliminar.
Aquí, el comando elimina todas las filas de la tabla `pedidos` en las que la `fecha_pedido` es anterior al 1 de enero de 2023.
3. Borrar con una subconsulta
DELETEFROM employees
WHERE department_id IN(SELECT department_id FROM departments WHERE name ='HR');Con la tecnología de
Este ejemplo elimina los empleados que pertenecen al departamento de RRHH utilizando una subconsulta para identificar los `department_id`s relevantes.
Consejos y buenas prácticas
Utilízalo con precaución. Asegúrate siempre de que la cláusula "DONDE" es correcta para evitar pérdidas de datos involuntarias.
Copia de seguridad de los datos. Considera la posibilidad de hacer una copia de seguridad de tu tabla o base de datos antes de realizar eliminaciones a gran escala.
Verifícalo con SELECCIONAR. Ejecuta una sentencia `SELECT` con la misma condición `WHERE` para comprobar qué filas se eliminarán.
Utiliza "RETURNO". Si es necesario, utiliza la cláusula `RETURNING` para mostrar las filas que se han eliminado, lo que puede ser útil con fines de verificación o auditoría.
Limita las eliminaciones. En tablas de gran volumen, considera la posibilidad de borrar por lotes para minimizar los bloqueos de tabla y los impactos en el rendimiento.
Piensa en CASCADE. Al eliminar filas de una tabla que tiene restricciones de clave externa, puedes utilizar la opción `CASCADE` para eliminar automáticamente cualquier fila dependiente en tablas relacionadas.
Gestión de la concurrencia. Ten en cuenta que las operaciones `DELETE` concurrentes pueden provocar condiciones de carrera. Utiliza transacciones o mecanismos de bloqueo adecuados para gestionar las eliminaciones concurrentes.
Consideraciones sobre el rendimiento. Optimiza las operaciones `DELETE` asegurándote de que existen índices para las condiciones de la cláusula `WHERE`, especialmente en tablas grandes, para mejorar el rendimiento.
La sentencia `DELETE` de PostgreSQL se utiliza para eliminar filas de una tabla. Permite eliminar registros concretos en función de una condición, o todos los registros si no se especifica ninguna condición.
Utilización
La sentencia `DELETE` se emplea cuando necesitas eliminar datos de una tabla. Se suele utilizar para borrar datos obsoletos o incorrectos.
En esta sintaxis, `DELETE FROM nombre_tabla` especifica la tabla de la que quieres eliminar filas, mientras que la condición opcional `WHERE` determina qué filas eliminar.
Ejemplos
1. Borrar todas las filas
Este ejemplo elimina todos los registros de la tabla "usuarios", vaciándola.
2. Eliminar con una condición
Aquí, el comando elimina todas las filas de la tabla `pedidos` en las que la `fecha_pedido` es anterior al 1 de enero de 2023.
3. Borrar con una subconsulta
Este ejemplo elimina los empleados que pertenecen al departamento de RRHH utilizando una subconsulta para identificar los `department_id`s relevantes.
Consejos y buenas prácticas