JavaRush/Курси/All lectures for UA purposes/Видалення даних у таблиці

Видалення даних у таблиці

Відкрита

1. Оператор DELETE FROM

Що просто робити в SQL, так це видаляти дані. Ти можеш видалити все дуже швидко, і в тебе навіть ніхто не запитає жодних підтверджень.

Почнемо з найпростішого сценарію: як видалити один рядок у таблиці.

Цей сценарій ти зустрічатимеш найчастіше. Зазвичай це видалення якогось конкретного запису, і стандартний запит має вигляд:

DELETE FROM таблиця
WHERE id = 133;

Це єдиний запит, де не потрібно вказувати імена колонок, адже дані видаляються одразу рядками.

Другий сценарій — це видалення рядків, які зазначені списком id. Тут теж все досить просто:

DELETE FROM таблиця
WHERE id IN (1, 2, 3, …);

Третій сценарій — видалення рядків, які відповідають певній умові:

DELETE FROM таблиця
WHERE умова;

Припустимо, ми хочемо звільнити всіх наших програмістів. В такому разі потрібно написати запит типу:

DELETE FROM employee
WHERE occupation = 'Програміст';

І, нарешті, якщо ти хочеш видалити всі записи, можеш написати такий запит:

DELETE FROM таблиця

Такого простого запиту достатньо, щоб видалити всі записи з таблиці. До речі, жодного Ctrl+Z при цьому не буде. Записи просто видаляються без можливості відновлення. Тож роби бекапи частіше. .

2. Видаляємо взагалі все

Для швидкого видалення (щоб додати користувачам головного болю) у SQL є ще кілька команд.

Як швидко видалити всі дані у таблиці? Скористайся оператором TRUNCATE:

TRUNCATE TABLE таблиця

Одна помилка в назві таблиці — і кілька днів відновлення даних тобі забезпечені. Радій, що ти не адмін баз даних.

Якщо потрібно видалити не просто дані в таблиці, а й саму таблицю, для цього є оператор DROP:

DROP TABLE таблиця

До речі, аналогічні варіанти існують і зі схемами баз даних. Якщо хочеш видалити саму базу, то:

DROP SCHEME база_даних

або:

DROP DATABASE база_даних

Також за допомогою DROP можна видаляти:

  • EVENT
  • FUNCTION
  • PROCEDURE
  • INDEX
  • VIEW
  • TRIGGER

І ось тобі кілька цікавих історій, пов'язаних із видаленням даних:

Провал дня. GitLab видалив 300 ГБ даних клієнтів через помилку сисадміну

Кремнієва Долина "Silicon Valley" — Видалення даних

Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.