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.