МиСКЛ ДЕЛЕТЕ Упит: Како обрисати ред из табеле

Преглед садржаја:

Anonim

Шта је ДЕЛЕТЕ упит?

Наредба МиСКЛ ДЕЛЕТЕ користи се за брисање редова који више нису потребни из табела базе података. Брише цео ред из табеле и враћа број избрисаних редова. Команда Делете је корисна за брисање привремених или застарелих података из базе података.

Упит Делете у МиСКЛ може избрисати више од једног реда из табеле у једном упиту. Ово се показало као предност приликом уклањања великог броја редова из табеле базе података.

Једном када је избрисан ред у МиСКЛ реду, не може се опоравити. Стога се препоручује да направите резервне копије базе података пре брисања било каквих података из базе података. То вам може омогућити да вратите базу података и касније их прегледате ако то буде потребно.

Како обрисати ред у МиСКЛ-у

Да бисте избрисали ред у МиСКЛ-у, користи се израз ДЕЛЕТЕ ФРОМ:

DELETE FROM `table_name` [WHERE condition];

ОВДЕ

  • ДЕЛЕТЕ ФРОМ `име_табеле` говори МиСКЛ серверу да уклони редове из табеле ...
  • [ВХЕРЕ цондитион] није обавезан и користи се за стављање филтера који ограничава број редова на које утиче МиСКЛ ДЕЛЕТЕ упит за ред.

Ако се клаузула ВХЕРЕ не користи у МиСКЛ ДЕЛЕТЕ упиту, тада ће бити избрисани сви редови у датој табели.

Пример упита МиСКЛ Делете

Пре него што пређемо на детаљније расправе о наредби ДЕЛЕТЕ, убацимо неке узорке података у табелу филмова за рад.

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 itle 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

Претпоставимо да Мифлик видеотека више не жели да даје у закуп „Велики диктатор“ својим члановима и желе да га уклоне из базе података. Његов ИД филма је 18, можемо користити скрипту приказану доле да избришемо његов ред из табеле филмова.

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

Извршавање горње скрипте у МиСКЛ ВоркБенцх-у против Мифлик-а брише филм са ид 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 није враћен у скупу резултата упита.
  • не можете избрисати ни једну колону за табелу. Можете избрисати читав ред.

Рецимо да имамо листу филмова које желимо да избришемо. Можемо користити клаузулу ВХЕРЕ заједно са ИН.

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

Извршавање горње скрипте брише филмове са ИД-овима 20 и 21 из наше табеле филмова.

Резиме

  • Команда делете се користи за уклањање података који више нису потребни из табеле.
  • Клаузула „ВХЕРЕ“ користи се за ограничавање броја редова на које утиче упит ДЕЛЕТЕ.
  • Једном када се подаци избришу, они се више не могу опоравити, стога се препоручује да направите резервне копије пре брисања података.