Оператор MySQL DELETE використовується для видалення записів із таблиці MySQL, які більше не потрібні в базі даних. Цей запит у MySQL видаляє повний рядок із таблиці та створює кількість видалених рядків . Це також дозволяє видаляти більше одного запису з таблиці в рамках одного запиту, що є корисним при видаленні великої кількості записів із таблиці. Використовуючи оператор delete, ми також можемо видаляти дані на основі умов.
Після видалення записів за допомогою цього запиту ми не зможемо їх відновити . Тому перед видаленням будь-яких записів із таблиці рекомендується створіть резервну копію вашої бази даних . Резервні копії бази даних дозволяють нам відновлювати дані, коли вони нам знадобляться в майбутньому.
Синтаксис:
Нижче наведено синтаксис, який ілюструє використання оператора DELETE:
цикл for в java
DELETE FROM table_name WHERE condition;
У наведеному вище операторі ми повинні спочатку вказати назву таблиці, з якої ми хочемо видалити дані. По-друге, ми маємо вказати умову видалення записів у реченні WHERE, яка є необов’язковою. Якщо ми опустимо речення WHERE в інструкції, цей запит видалить цілі записи з таблиці бази даних.
Якщо ми хочемо видалити записи з кількох таблиць за допомогою одного запиту DELETE, ми повинні додати ПРИЄДНУЙТЕСЯ пункт з оператором DELETE.
Якщо ми хочемо видалити всі записи з таблиці, не знаючи кількості видалених рядків, ми повинні використовувати УСИЧЕННЯ ТАБЛИЦІ твердження, що забезпечує кращу продуктивність.
Давайте розберемося, як працює оператор DELETE MySQL через різні приклади.
Приклади оператора MySQL DELETE
Тут ми будемо використовувати 'Співробітники' і 'Оплата' таблиці для демонстрації оператора DELETE. Припустімо, таблиці Employees і Payment містять такі дані:
Якщо ми хочемо видалити співробітника, чий emp_id дорівнює 107 , ми повинні використовувати оператор DELETE з пропозицією WHERE. Перегляньте запит нижче:
генератор випадкових чисел java
mysql> DELETE FROM Employees WHERE emp_id=107;
Після виконання запиту він поверне результат, як показано на зображенні нижче. Після видалення запису перевірте таблицю за допомогою оператора SELECT:
java indexof
Якщо ми хочемо видалити всі записи з таблиці, немає потреби використовувати речення WHERE з оператором DELETE. Дивіться наведений нижче код і вихід:
У вихідних даних вище ми бачимо, що після видалення всіх рядків таблиця Employees буде порожньою. Це означає, що у вибраній таблиці відсутні записи.
Речення MySQL DELETE та LIMIT
Речення MySQL Limit використовується для обмеження кількості рядків, що повертаються з набору результатів, а не для отримання всіх записів у таблиці. Іноді ми хочемо обмежити кількість рядків, які потрібно видалити з таблиці; у цьому випадку ми будемо використовувати МЕЖА пункт наступного змісту:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
Слід зазначити, що порядок рядків у таблиці MySQL не визначено. Тому ми завжди повинні використовувати СОРТУВАТИ ЗА під час використання пропозиції LIMIT.
Наприклад , наступний запит спочатку сортує співробітників за їхніми іменами в алфавітному порядку та видаляє перших трьох співробітників із таблиці:
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
Це дасть такий результат:
Речення MySQL DELETE та JOIN
Речення JOIN використовується для додавання двох або більше таблиць у MySQL. Ми додамо пропозицію JOIN із оператором DELETE щоразу, коли хочемо видалити записи з кількох таблиць у межах одного запиту. Перегляньте запит нижче:
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
Вихід:
Після виконання ми побачимо результат, як показано на зображенні нижче:
awt java
Щоб дізнатися більше про оператор DELETE з реченням JOIN, натисніть тут .