MySQL Запит DELETE: як видалити рядок із таблиці

Що таке запит DELETE?

MySQL видаляти Команда використовується для видалення рядків, які більше не потрібні з таблиць бази даних. Він видаляє весь рядок із таблиці та повертає кількість видалених рядків. Команда Delete стане в нагоді для видалення тимчасових або застарілих даних із вашої бази даних.

Запит на видалення в MySQL може видалити більше одного рядка з таблиці в одному запиті. Це є перевагою при видаленні великої кількості рядків із таблиці бази даних.

Видалити рядок MySQL рядок видалено, його неможливо відновити. Тому настійно рекомендується робити резервні копії бази даних перед видаленням будь-яких даних із бази даних. Це може дозволити вам відновити базу даних і переглянути дані пізніше, якщо це буде потрібно.

Як видалити рядок в MySQL

Щоб видалити рядок у MySQLвикористовується оператор DELETE FROM:

DELETE FROM `table_name` [WHERE condition];

ТУТ

  • DELETE FROM `table_name` повідомляє MySQL сервер для видалення рядків із таблиці ..
  • [Умова WHERE] є необов’язковою та використовується для встановлення фільтра, який обмежує кількість рядків, на які впливає синтаксис DELETE MySQL запит рядка.

Якщо ДЕ ЗАКЛАД не використовується в MySQL запит DELETE, тоді всі рядки в даній таблиці будуть видалені.

Приклад MySQL Видалити запит

Перш ніж перейти до більш детального обговорення оператора SQL DELETE, давайте вставимо деякі зразки даних у таблицю movies для роботи.

INSERT INTO  `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7);
INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8);
INSERT INTO  movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);

Виконання наведеного вище сценарію додає три (3) фільми до таблиці фільмів. Перш ніж ми продовжимо наш урок, давайте візьмемо всі фільми в нашу таблицю. Наведений нижче сценарій робить це.

SELECT * FROM `movies`;

Виконання наведеного вище сценарію дає нам такі результати.

movie_id title director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Name Black Edgar Jimz 2010 NULL
5 Daddy's Little Girls NULL 2007 8
6 Angels and Demons NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooners John Schultz 2005 8
16 67% Guilty NULL 2012 NULL
18 The Great Dictator Chalie Chaplie 1920 7
19 sample movie Anonymous NULL 8
20 movie 3 John Brown 1920 8

Припустімо, що відеотека Myflix більше не бажає здавати «Великого диктатора» своїм членам і хоче видалити його з бази даних. Його ідентифікатор фільму 18, ми можемо використати сценарій, показаний нижче, щоб видалити рядок із таблиці MySQL приклад.

DELETE FROM `movies` WHERE `movie_id` = 18;

Виконання наведеного вище сценарію в MySQL верстак проти Myflix видаляє фільм з ідентифікатором 18 із таблиці бази даних.

Давайте подивимося поточний стан таблиці фільмів.

SELECT * FROM `movies`;
movie_id title director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
3 X-Men NULL 2008 NULL
4 Code Name Black Edgar Jimz 2010 NULL
5 Daddy's Little Girls NULL 2007 8
6 Angels and Demons NULL 2007 6
7 Davinci Code NULL 2007 6
9 Honey mooners John Schultz 2005 8
16 67% Guilty NULL 2012 NULL
19 sample movie Anonymous NULL 8
20 movie 3 John Brown 1920 8

ПРИМІТКА:

  • фільм з ідентифікатором 18 не повернуто в наборі результатів запиту.
  • Ви не можете видалити один стовпець для таблиці. Ви можете видалити цілий рядок.

Скажімо, у нас є список фільмів, які ми хочемо видалити. Ми можемо використовувати речення WHERE разом із IN.

DELETE FROM `movies` WHERE `movie_id`  IN (20,21);

Виконання наведеного вище сценарію видаляє фільми з ідентифікаторами 20 і 21 з нашої таблиці фільмів.

Підсумки

  • Команда Видалити в MySQLвикористовується для видалення з таблиці даних, які більше не потрібні.
  • Речення WHERE використовується для обмеження кількості рядків, на які впливає запит DELETE MySQL команда
  • Видалені дані неможливо відновити, тому настійно рекомендуємо зробити резервні копії перед видаленням даних.