PostgreSQL Eliminar consulta (eliminar filas de la selección)
Eliminar consulta en PostgreSQL
La Eliminar declaración in PostgreSQL Se utiliza para eliminar uno o más registros de una tabla. Si desea eliminar filas seleccionadas de una tabla PostgreSQL le permite combinar la declaración DELETE con la cláusula WHERE; de lo contrario, eliminará todos los registros.
Sintaxis de consulta de eliminación de Postgres
La declaración DELETE se puede definir mediante la siguiente sintaxis:
[ WITH [ RECURSIVE ] with-query [, ...] ] DELETE FROM [ ONLY ] table-name [ * ] [ [ AS ] alias ] [ USING using-list ] [ WHERE condition(s) | WHERE CURRENT OF cursor-name] [ RETURNING * | output-expression [ [ AS ] output-name] [, ...] ]
parámetros
- con-consulta: la cláusula CON nos permite hacer referencia a una o más subconsultas a las que se hará referencia por nombre en la consulta DELETE.
- nombre de la tabla: el nombre de la tabla de la que se eliminarán los registros.
- alias: este es un sustituto del nombre de la tabla de destino.
- lista de uso: expresiones de tabla para permitir que se utilicen columnas de otras tablas en la cláusula WHERE.
- condición (es): opcional. Son las condiciones que se deben cumplir para que los registros sean eliminados. Si no se proporciona esta sección, se eliminarán todos los registros de nombres de tablas.
- nombre-cursor: el cursor que se utilizará en la condición DONDE ACTUAL DE. Se eliminará la última fila recuperada por este cursor.
- expresión-salida: la expresión que se procesará y devolverá mediante la declaración DELETE después de eliminar cada fila.
- nombre-salida: el nombre que se utilizará para la columna devuelta.
Tenga en cuenta que, dado que la instrucción DELETE elimina toda la fila, no es necesario especificar los nombres de las columnas.
PostgreSQL Eliminar consulta con una condición
La instrucción DELETE se puede utilizar con una única condición. La condición se establece mediante la cláusula WHERE. Considere la tabla Price con los siguientes datos:
Precio
Eliminemos el registro con una identificación de 4:
DELETE FROM Price WHERE id = 4;
El comando anterior eliminará los registros en los que la identificación es 4. Confirmemos si la eliminación fue exitosa:
Se ha eliminado la fila con una identificación de 4.
Eliminar consulta con dos condiciones
La PostgreSQL La sentencia DELETE puede aceptar dos condiciones. Las dos condiciones deben unirse mediante el operador AND. Usaremos la siguiente tabla:
Precio:
Considere el ejemplo que se da a continuación:
DELETE FROM Price WHERE id = 3Y AND price = 300;
En el comando anterior, eliminamos la fila en la que la identificación es 3 y el precio es 300. Ahora podemos consultar la tabla:
SELECT * FROM Price
Esto devuelve lo siguiente:
Se eliminó el registro con una identificación de 3 y un precio de 300.
PostgreSQL Eliminar consulta usando la condición Existe
Con la condición EXISTS, puede hacer que la operación DELETE sea más compleja. A veces, puede ser necesario eliminar registros de una tabla en función de los registros de otra tabla.
Verá que la cláusula FROM no le permite enumerar registros de más de una tabla al realizar una eliminación, la cláusula EXISTS resulta muy útil. Tenemos las siguientes dos tablas:
Libro:
Precio:
Luego podemos ejecutar la siguiente consulta:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
El comando anterior eliminará de la tabla Libro donde exista un registro en la tabla Precio con una identificación que coincida con la de la tabla Libro y el precio sea inferior a 250.
La tabla Libro ahora es la siguiente:
Se eliminó el registro con una identificación de 1.
Cómo eliminar una fila en PostgreSQL usando pgAdmin
A continuación se muestran los pasos para eliminar una fila en PostgreSQL usando pgAdmin:
Con una condición
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin
Abra pgAdmin e inicie sesión en su cuenta usando sus credenciales
Paso 2) Cree una base de datos de demostración
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta
Escriba la siguiente consulta en el editor de consultas:
DELETE FROM Price WHERE id = 4;
Paso 4) Ejecutar la consulta
Haga clic en el botón Ejecutar
Paso 5) Verifique si la fila está eliminada
Comprobemos si la eliminación se realizó correctamente:
Con dos condiciones
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
DELETE FROM Price WHERE id = 3 AND price = 300;
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Comprobemos si la eliminación se realizó correctamente:
Usando la condición EXISTE
Para lograr lo mismo a través de pgAdmin, haga esto:
Paso 1) Inicie sesión en su cuenta pgAdmin.
Paso 2)
- Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
- Haga clic en Demostración.
Paso 3) Escriba la consulta en el editor de consultas:
DELETE FROM Book WHERE EXISTS (SELECT 1 FROM Price WHERE Price.id = Book.id AND price < 250 );
Paso 4) Haga clic en el botón Ejecutar.
Paso 5) Comprobemos si la eliminación se realizó correctamente:
Resum
- La declaración DELETE se utiliza para eliminar uno o más registros de una tabla.
- Para eliminar solo filas seleccionadas de una tabla, puede combinar la declaración DELETE con la cláusula WHERE.
- Si la cláusula DELETE se usa sin la cláusula WHERE, elimina todos los registros de la tabla.
- El parámetro nombre-tabla le permite agregar el nombre de la tabla de la cual se eliminarán los registros.
- Podemos usar la declaración DELETE con una condición, especificada usando la cláusula WHERE.
- La declaración DELETE también se puede utilizar con dos condiciones especificadas en la cláusula WHERE. Las dos condiciones deben unirse utilizando el operador AND.
- La EXISTE La condición puede ayudarnos a eliminar registros de una tabla en función de los registros de otra tabla.
Descargue la Base de Datos utilizada en este Tutorial