Delete (SQL)
DELETE — це операція мови визначення даних (Data Definition Language, DDL) у мовах, схожих на Structured Query Language (SQL), яка використовується для видалення одного або кількох записів з таблиці. Критерій для відбору записів, які потрібно видалити, визначається виразом WHERE. Якщо критерій відбору не вказаний, усі записи в таблиці будуть видалені.
Синтаксис
DELETE FROM table_name
WHERE condition;
table_name: Ім'я таблиці, з якої потрібно видалити записи.condition: Вираз, який визначає, які записи слід видалити.
Приклад
Наступний запит SQL видаляє всі записи з таблиці customers:
DELETE FROM customers;
Наступний запит SQL видаляє записи з таблиці customers, де стовпець age менший за 18:
DELETE FROM customers
WHERE age < 18;
Повертається значення
Операція DELETE повертає кількість видалених записів. Це число може бути використане для підтвердження того, що операція видалення була успішною.
Застереження
1. Постійне видалення: Операція DELETE призводить до постійного видалення даних. Видалені записи не можна відновити. Тому важливо бути обережними при використанні цієї операції.
2. Критерій вибору: Для успішного видалення записів необхідно ретельно визначити критерій вибору в виразі WHERE. Неправильний критерій вибору може призвести до видалення небажаних записів.
3. Транзакції: Для забезпечення цілісності даних операцію DELETE слід виконувати в транзакціях.
Альтернативні варіанти
Іноді замість DELETE можна використовувати альтернативні варіанти. Наприклад:
TRUNCATE TABLE: Видаляє всі записи з таблиці, не активуючи тригери або обмеження зовнішнього ключа.DROP TABLE: Видаляє всю таблицю, включаючи її дані.
Операція DELETE — це потужний інструмент у SQL, який використовується для видалення записів із таблиці. Розуміння синтаксису, правил та обмежень цієї операції має вирішальне значення для успішного управління даними в базах даних SQL.
Поширені запитання
1. Що відбувається, якщо в операції DELETE не вказано критерій вибору?
Всі записи в таблиці будуть видалені.
2. Як відновити видалені записи?
Видалені записи не можна відновити, якщо вони не були збережені в резервній копії.
3. У чому різниця між DELETE та TRUNCATE TABLE?
DELETE видаляє записи з таблиці, активуючи тригери та обмеження зовнішнього ключа, тоді як TRUNCATE TABLE видаляє записи без активації цих обмежень.
4. Які альтернативи DELETE доступні?
Альтернативні варіанти включають TRUNCATE TABLE і DROP TABLE.
5. Які застереження слід враховувати при використанні DELETE?
Операція DELETE призводить до постійного видалення даних, тому слід бути обережним із критерієм вибору та використовувати транзакції для забезпечення цілісності даних.