PostgreSQL оператор DELETE

В этом учебном пособии вы узнаете, как использовать PostgreSQL оператор DELETE с синтаксисом и примерами.

Описание

Оператор PostgreSQL DELETE используется для удаления одной или нескольких записей из таблицы в PostgreSQL.

Синтаксис

Синтаксис оператора DELETE в PostgreSQL:

DELETE FROM table
[WHERE conditions];

Параметры или аргументы

table
Таблица, из которой вы хотите удалить записи.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для удаления записей. Если никаких условий не предоставлено, все записи из таблицы будут удалены.

Примечание

  • Вам не нужно перечислять поля в PostgreSQL операторе DELETE, поскольку вы удаляете всю строку из таблицы.

Пример - с одним условием

Рассмотрим простой пример, где у нас есть только одно условие в операторе DELETE.
Например:

Этот пример PostgreSQL DELETE удалит все записи из таблицы contacts, где first_name равно 'Frosya'.

Вы можете определить количество строк, которые будут удалены, выполнив следующий оператор SELECT перед выполнением удаления.

Пример - с двумя условиями

Рассмотрим пример, где у нас есть только два условия в операторе DELETE.
Например:

Этот PostgreSQL пример DELETE удалит все записи из таблицы contacts, где first_name имеет значение «Bony», а customer_id больше или равно 400 .
Вы можете определить количество строк, которые будут удалены, выполнив следующий оператор SELECT перед выполнением удаления.

Пример - использование условия EXISTS

Вы также можете выполнять более сложные удаления.
Вы можете удалить записи в одной таблице на основе значений в другой таблице. Поскольку при выполнении удаления вы не можете перечислить более одной таблицы в PostgreSQL операторе FROM, вы можете использовать предложение EXISTS .
Например:

Этот пример удалит все записи в таблице suppliers, в которой есть запись в таблице customers, customer_id которой меньше 1000, и customer_id соответствует supplier_id.
Вы можете определить количество строк, которые будут удалены, вызвав функцию postgresql_info или выполнив следующий оператор SELECT перед выполнением удаления.