Оператор SQL DELETE використовується для видалення певних рядків із таблиці, зберігаючи структуру таблиці недоторканою. Він відрізняється від DROP, який видаляє всю таблицю.
- Він видаляє рядки на основі умов.
- Зберігає обмеження та індекси схеми таблиць.
- Можна видалити один рядок або всі рядки.
приклад: Спочатку ми будемо створити демонстраційна база даних SQL і таблиця, для яких ми будемо використовувати команду SQL DELETE.
Запит:
DELETE FROM Employees
WHERE EmployeeID = 5;
Вихід:
- Цей запит видаляє рядок із таблиці Employees, де EmployeeID дорівнює 5.
- Видаляється лише цей конкретний запис; всі інші рядки залишаються без змін.
Синтаксис:
DELETE FROM table_name
WHERE some_condition;
- Деякі_умови: Умова, яка використовується для фільтрації рядків, які потрібно видалити.
- table_name: Ім'я таблиці, з якої потрібно видалити рядки.
Примітка: Ми можемо видалити один або декілька записів за допомогою пропозиції WHERE; якщо він пропущений, усі записи в таблиці видаляються.
Приклади оператора SQL DELETE
Припустімо, що ми створили таблицю під назвою GFG_Employee у SQL, яка містить особисті дані працівника, включаючи його ім’я електронної пошти та відділ тощо, як показано нижче.
СТВОРИТИ ТАБЛИЦЮ GFG_Employees (
id INT PRIMARY KEY
назва VARCHAR (20)
електронною поштою VARCHAR (25)
відділ VARCHAR(20)
);
INSERT INTO GFG_Employees (id name email department) VALUES
(1 'Jessie' '[email protected]' 'Розробка')
(2 'Praveen' '[email protected]' 'HR')
(3 «Можна» «[email protected]» «Продажі»)
(4 'Rithvik' '[email protected]' 'IT')
(5 'Suraj' '[email protected]' 'Гарантія якості')
(6 'Om' '[email protected]' 'IT')
(7 'Наруто' '[email protected]' 'Розробка');
Виберіть * З GFG_Employees
Вихід:
Приклад 1: Видалення одного запису
Ми можемо використовувати оператор DELETE з умовою для видалення певного рядка з таблиці. The ДЕ забезпечує видалення лише призначеного запису. Ми можемо видалити записи під назвою Rithvik за допомогою запиту нижче:
Запит:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
Вихід:
Приклад 2: Видалення кількох записів
Щоб видалити кілька записів, ви можете вказати умову, яка відповідає кільком рядкам. Давайте видалимо рядки з таблиці GFG_Employees, де відділ – «Розробка». Це видалить 2 рядки (перший рядок і сьомий рядок).
Запит:
DELETE FROM GFG_Employees
WHERE department = 'Development';
Вихід
Приклад 3: видалення всіх записів із таблиці
Якщо нам потрібно видалити всі записи з таблиці, ми можемо опустити речення WHERE або альтернативно використати оператор DELETE із зірочкою (*), щоб позначити всі рядки.
Запит:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
Вихід:
Усі записи в таблиці буде видалено, не залишиться записів для відображення. Таблиця GFG_Employees стане порожньою.
Відкат операцій DELETE
Оскільки оператор DELETE є операцією DML, його можна відкотити під час виконання в операторі. Якщо ви випадково видалили записи або потрібно повторити процес, ви можете скористатися ВІДКОТ команда.
Запит:
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
Пояснення: Команда ROLLBACK скасовує зміни, внесені оператором DELETE, ефективно відновлюючи записи, які були видалені під час транзакції.
довгий рядок javaСтворіть вікторину