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 команда
- Видалені дані неможливо відновити, тому настійно рекомендуємо зробити резервні копії перед видаленням даних.