mi a törlési lekérdezés?
a MySQL DELETE parancs olyan sorok törlésére szolgál, amelyek már nem szükségesek az adatbázis táblákból. Törli az egész sort a táblázatból, majd visszaadja a törölt sorok számát. A Törlés parancs hasznos lehet ideiglenes vagy elavult adatok törléséhez az adatbázisból.
a lekérdezés törlése a MySQL-ben egynél több sort törölhet egyetlen lekérdezés táblázatából., Ez előnyöknek bizonyul, ha nagy számú sort távolít el az adatbázis táblából.
a MySQL sor törlési sorának törlése után nem lehet visszaállítani. Ezért erősen ajánlott adatbázis-mentéseket készíteni, mielőtt törölné az adatokat az adatbázisból. Ez lehetővé teszi az adatbázis visszaállítását, majd az adatok későbbi megtekintését, ha szükséges.,
egy sor törlése a MySQL-ben
egy sor törléséhez a MySQL-ben a DELETE FROM utasítás használható:
DELETE FROM `table_name` ;
itt
- Törlés a “table_name” – ből azt mondja a MySQL szervernek, hogy távolítsa el a sorokat az asztalról ..a
- opcionális, és egy olyan szűrő elhelyezésére szolgál, amely korlátozza a MySQL DELETE row lekérdezés által érintett sorok számát.
Ha a WHERE záradékot nem használják a MySQL törlési lekérdezésben, akkor az adott táblázat összes sora törlődik.,
példa a MySQL törlési lekérdezésre
mielőtt további részletekbe lépnénk vita a Törlés parancs, illesszünk be néhány minta adatot a filmtáblába, hogy működjön együtt.
a fenti szkript végrehajtása három (3) filmet ad hozzá a filmtáblához. Mielőtt továbbmennénk a leckénkbe, tegyük az összes filmet az asztalunkba. Az alábbi szkript ezt teszi.
SELECT * FROM `movies`;
a fenti szkript végrehajtása a következő eredményeket adja.,
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
tegyük fel, hogy a Myflix videotár már nem akarja kiadni a” The Great Dictator ” – ot tagjainak, és azt akarják, hogy távolítsák el az adatbázisból. A film azonosítója 18, az alábbi szkript segítségével törölhetjük a sort a filmtáblából.
DELETE FROM `movies` WHERE `movie_id` = 18;
a fenti szkript végrehajtása a MySQL WorkBench-ben a Myflix ellen törli a filmet az ID 18-val az adatbázis táblából.
lássuk a movies table 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
megjegyzés:
- az id 18-as film nem került vissza a lekérdezés eredményhalmazába.
- egy táblázat egyetlen oszlopát nem törölheti. Törölhet egy egész sort.
tegyük fel, hogy van egy listánk azokról a filmekről, amelyeket törölni akarunk . Használhatjuk a hol záradékot is.
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
a fenti szkript végrehajtása 20 és 21 azonosítóval törli a filmeket a filmtáblázatunkból.,
összefoglaló
- a Törlés parancs olyan adatok eltávolítására szolgál, amelyek már nem szükségesek a táblázatból.
- A” hol záradék ” a törlési lekérdezés által érintett sorok számának korlátozására szolgál.
- az adatok törlése után nem lehet visszaállítani, ezért javasoljuk, hogy készítsen biztonsági mentéseket az adatok törlése előtt.