![]() |
![]() |
![]() |
Удаление записей командой DELETE Удаление записей из таблиц производится стандартной командой SQL DELETE. Вызов DELETE приводит к необратимым последствиям (исключение составляют тщательно спланированные транзакционные блоки), поэтому удаление данных из базы требует крайней осторожности. Команда удаления одной или нескольких записей из базы имеет следующий синтаксис: DELETE FROM [ ONLY ] таблица [ WHERE условие ]
Секция WHERE почти всегда присутствует в команде DELETE. В ней определяются условия отбора удаляемых записей, выраженные в такой же синтаксической форме, как и при использовании команды SELECT. Перед выполнением команды DELETE рекомендуется выполнить команду SELECT с соответствующей секцией WHERE и просмотреть удаляемые данные перед их фактическим уничтожением. Пример приведен в листинге 4.57. Листинг 4.57. Удаление записей из таблицы booktown=# SELECT * FROM stock booktown-# WHERE stock = 0; isbn | cost | retail | stock 0394800753 | 16.00 | 16.95 | 0 0394900014 | 23.00 | 23.95 | 0 0451198492 | 36.00 | 46.95 | 0 0451457994 | 17.00 | 22,95 | 0 (4 rows) booktown=# DELETE FROM stock booktown-# WHERE stock = 0; DELETE 4 При отсутствии секции WHERE команда DELETE удаляет из таблицы все записи (листинг 4.58). Листинг 4.58. Удаление всех записей из таблицы booktown=# DELETE FROM stock_backup; DELETE 16 |
![]() |
![]() |
![]() |