Consulta de eliminación de PostgreSQL (eliminar filas de la selección)

Eliminar consulta en PostgreSQL

El Eliminar declaración en 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.

Consulta de eliminación de PostgreSQL con una condición

La declaración DELETE se puede utilizar con una sola condición. La condición se establece mediante la cláusula WHERE. Considere la tabla de precios con el siguientewing datos:

Precio

Consulta de eliminación de PostgreSQL con una condición

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:

Consulta de eliminación de PostgreSQL con una condición

Se ha eliminado la fila con una identificación de 4.

Eliminar consulta con dos condiciones

La declaración DELETE de PostgreSQL puede aceptar dos condiciones. Las dos condiciones deben unirse utilizando el operador AND. Usaremos el siguientewing mesa:

Precio:

Consulta de eliminación de PostgreSQL con dos condiciones

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 el siguientewing:

Consulta de eliminación de PostgreSQL con dos condiciones

Se eliminó el registro con una identificación de 3 y un precio de 300.

Consulta de eliminación de PostgreSQL utilizando la condición existente

Con la condición EXISTS, puedes hacer que BORRAR sea más complex. A veces, puede ser necesario eliminar registros de una tabla basándose en registros de otra tabla.

Verá que la cláusula FROM no le permite enumerar registros de más de una tabla al realizar la eliminación, la cláusula EXISTS se vuelve muy útil. tenemos el siguientewing dos mesas:

Libro:

Consulta de eliminación de PostgreSQL utilizando la condición existente

Precio:

Consulta de eliminación de PostgreSQL utilizando la condición existente

Luego podemos ejecutar el siguientewing 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:

Consulta de eliminación de PostgreSQL utilizando la condición existente

Se eliminó el registro con una identificación de 1.

Cómo eliminar una fila en PostgreSQL usando pgAdmin

Following son 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

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Eliminar fila en PostgreSQL

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

Eliminar fila en PostgreSQL

Paso 5) Verifique si la fila está eliminada

Comprobemos si la eliminación se realizó correctamente:

Eliminar fila en PostgreSQL

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Eliminar fila en PostgreSQL

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.

Eliminar fila en PostgreSQL

Paso 5) Comprobemos si la eliminación se realizó correctamente:

Eliminar fila en PostgreSQL

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)

  1. Desde la barra de navegación de la izquierda, haga clic en Bases de datos.
  2. Haga clic en Demostración.

Eliminar fila usando la condición EXISTS

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.

Eliminar fila usando la condición EXISTS

Paso 5) Comprobemos si la eliminación se realizó correctamente:

Eliminar fila usando la condición EXISTS

Resumen

  • 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.
  • El 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