MySQL TÖRLÉS Lekérdezés: Hogyan lehet törölni egy sort a táblázatból

Mi az a DELETE lekérdezés?

MySQL töröl A parancs a már nem szükséges sorok törlésére szolgál az adatbázistáblákból. Törli a teljes sort a táblázatból, és visszaadja a törölt sorok számát. A Delete parancs hasznos lehet ideiglenes vagy elavult adatok törléséhez az adatbázisból.

A Törlés lekérdezés MySQL egy lekérdezésben több sort is törölhet egy táblázatból. Ez előnyösnek bizonyul, ha nagy számú sort távolítunk el egy adatbázistáblából.

Egyszer egy Törlés sort MySQL sor törölve lett, nem lehet visszaállítani. Ezért erősen ajánlott az adatbázis biztonsági mentése, mielőtt bármilyen adatot törölne az adatbázisból. Ez lehetővé teszi az adatbázis visszaállítását és az adatok későbbi megtekintését, ha szükséges.

Hogyan lehet törölni egy sort MySQL

Egy sor törléséhez MySQL, a DELETE FROM utasítás használatos:

DELETE FROM `table_name` [WHERE condition];

ITT

  • A DELETE FROM `tábla_neve` megmondja MySQL szerver a sorok eltávolításához a táblázatból..
  • A [WHERE feltétel] opcionális, és egy szűrő elhelyezésére szolgál, amely korlátozza a DELETE szintaxis által érintett sorok számát. MySQL sor lekérdezés.

Ha a WHERE záradék nem használják a MySQL Lekérdezés TÖRLÉSE, akkor egy adott táblázat összes sora törlődik.

Például az MySQL Lekérdezés törlése

Mielőtt az SQL DELETE utasítással kapcsolatos részletesebb tárgyalásba kezdenénk, illesszünk be néhány mintaadatot a movies táblába, amellyel dolgozni szeretnénk.

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);

A fenti forgatókönyv végrehajtása három (3) filmet ad a filmek táblázatához. Mielőtt továbbmennénk a leckénkbe, vegyük fel a táblázatunkban szereplő összes filmet. Az alább látható szkript ezt teszi.

SELECT * FROM `movies`;

A fenti szkript végrehajtása a következő eredményeket adja.

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

Tegyük fel, hogy a Myflix videokönyvtár nem kívánja tovább bérbe adni a „The Great Dictator”-t a tagjainak, és szeretné eltávolítani az adatbázisból. A film azonosítója 18, az alábbi szkript segítségével törölhetjük a táblázatból a sort MySQL példa.

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

A fenti szkript végrehajtása MySQL munkapad a Myflix ellen törli a 18-as azonosítójú filmet az adatbázistáblából.

Lássuk a filmek aktuális állapotát.

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

JEGYZET:

  • a 18-as azonosítójú film nem került vissza a lekérdezés eredménykészletében.
  • egy táblázat egyetlen oszlopát sem törölheti. Egy teljes sort törölhet.

Tegyük fel, hogy van egy listánk azokról a filmekről, amelyeket törölni szeretnénk . Használhatjuk a WHERE záradékot az IN mellett.

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

A fenti forgatókönyv végrehajtása törli a 20-as és 21-es azonosítójú filmeket a filmtáblázatunkból.

Összegzésként

  • A Delete in parancs MySQL, a már nem szükséges adatok eltávolítására szolgál egy táblázatból.
  • A „WHERE záradék” a DELETE lekérdezés által érintett sorok számának korlátozására szolgál MySQL parancs.
  • Az adatok törlése után nem állíthatók vissza, ezért erősen ajánlott biztonsági másolat készítése az adatok törlése előtt.