PostgreSQL DELETE: cómo eliminar contenido de una tabla
PostgreSQL DELETE
se puede utilizar para eliminar contenido de una tabla. Además, este comando puede especificarse mediante cláusulas para que solo ciertas filas sean elegibles para su eliminación. Dado que la eliminación no se puede deshacer, es importante usar el comando con mucho cuidado.
¿Qué es PostgreSQL DELETE
?
El comando DELETE
se usa en PostgreSQL para borrar entradas de una tabla. Puedes utilizar la cláusula WHERE
para seleccionar filas específicas de las que se eliminará el contenido. Si omites la cláusula WHERE
al utilizar el comando, todo el contenido de la tabla en cuestión se eliminará definitivamente. Por este motivo, se debe utilizar el comando con mucha precaución.
- Tu propio servidor en un hardware dedicado
- Integración en el cloud y facturación por minuto
- Respaldados por procesadores Intel® Xeon® y AMD
PostgreSQL DELETE
: sintaxis y funcionalidad
La sintaxis de PostgreSQL DELETE
tiene la siguiente estructura básica:
DELETE FROM nombre_de_la_tabla
WHERE [condición]
postgresqlLa palabra clave DELETE FROM
inicia la eliminación en la tabla especificada. Puedes utilizar la cláusula WHERE
para especificar en qué filas se debe eliminar el contenido. Si deseas tener en cuenta varias condiciones, puedes enumerarlas usando AND
o OR
.
Antes de borrar datos, debes asegurarte de que dispones de una copia de seguridad actual de la base de datos o ejecutar el proceso de borrado en una transacción. De este modo, puedes evitar que se pierdan datos importantes si el comando se ejecuta incorrectamente por descuido.
Eliminar todo el contenido de una tabla
La forma más fácil de explicar cómo funciona DELETE
en PostgreSQL es con un ejemplo práctico. Para ello, usamos el comando CREATE TABLE para crear una nueva tabla PostgreSQL llamada “Lista de clientes”. A continuación, usamos INSERT INTO para completarla con varias informaciones. La tabla tiene tres columnas llamadas “ID”, “Nombre” y “Ciudad” e inicialmente contiene cuatro entradas. Este es el aspecto que tiene:
|ID|Nombre|Ciudad|
|-|-|-|
|1|Sánchez|Córdoba|
|2|Morales|León|
|3|Simón|Salamanca|
|4|Sánchez|San Sebastián|
postgresqlSi ahora queremos mantener la tabla, pero borrar todo el contenido, utilizamos PostgreSQL DELETE
sin una cláusula adicional. El comando entonces sería así para nuestro ejemplo:
DELETE FROM lista_de_clientes;
postgresqlBorrar una fila con PostgreSQL DELETE
Más a menudo, sin embargo, te encontrarás en una situación en la que simplemente quieres eliminar una fila específica. Esto también se hace con PostgreSQL DELETE
. Para ello, utilizamos el comando con una cláusula WHERE
. Para nuestro ejemplo, queremos eliminar el cliente “Morales” con el ID “2”. El código apropiado sería el siguiente:
DELETE FROM lista_de_clientes
WHERE ID = 2;
postgresqlEspecificar filas con múltiples cláusulas
Pueden producirse entradas duplicadas y, por tanto, ambiguas, especialmente en tablas largas. Si deseas asegurarte de que solo se elimina la fila deseada, puedes utilizar PostgreSQL DELETE
con cláusulas múltiples. En nuestro ejemplo, tenemos dos clientes llamados “Sánchez” y solo queremos eliminar la segunda entrada. Por lo tanto, combinamos dos cláusulas. El código es el siguiente:
DELETE FROM lista_de_clientes
WHERE Nombre = 'Sánchez'
AND ID >= 3;
postgresqlDe esta forma, se eliminan todas las filas en las que el nombre “Sánchez” y el ID es mayor o igual que “3”. Como la primera entrada con el nombre tiene un ID inferior a “3”, esta entrada permanece en la base de datos incluso después del comando de borrado.