Összefoglaló: ebben a bemutatóban megtanulja, hogyan használja a MySQL TRUNCATE TABLE utasítást egy táblázat összes adatának törlésére.
A MySQL TRUNCATE TABLE utasítás bemutatása
A MySQL TRUNCATE TABLE utasítással törölhetünk minden adatot egy táblázatból.
Logikailag a TRUNCATE TABLE utasítás olyan, mint egy DELETE utasítás WHERE záradék nélkül, amely törli az összes sort egy táblázatból, vagy egy DROP TABLE és CREATE TABLE utasításokból álló sorozat.
A TRUNCATE TABLE utasítás azonban hatékonyabb, mint a DELETE utasítás, mivel törli és újra létrehozza a táblát ahelyett, hogy egyesével törölné a sorokat.
Íme aTRUNCATE TABLE utasítás alapvető szintaxisa:
Code language: SQL (Structured Query Language) (sql)
Ebben a szintaxisban a TRUNCATE TABLE kulcsszavak után megadja annak a táblának a nevét, amelynek minden adatát törölni kívánja.
A TABLE kulcsszó opcionális. Azonban jó gyakorlat a TABLE kulcsszó használata a TRUNCATE TABLE utasítás és a TRUNCATE() függvény megkülönböztetésére.
Ha van FOREIGN KEY korlátozás más táblákból, amelyek hivatkoznak a csonkított táblára, a TRUNCATE TABLE utasítás sikertelen lesz.
Mert a truncate művelet implicit commitot okoz, ezért nem lehet visszavonni.
A TRUNCATE TABLE utasítás visszaállítja az AUTO_INCREMENT oszlop értékét a kezdőértékre, ha a táblában van AUTO_INCREMENT oszlop.
A TRUNCATE TABLE utasítás nem indítja el a csonkított táblához kapcsolódó DELETE triggereket.
A DELETE utasítással ellentétben a TRUNCATE TABLE utasítás által érintett sorok száma 0, ami úgy értelmezendő, hogy nincs információ.
MySQL TRUNCATE TABLE példa
Mutatunk egy példát a TRUNCATE TABLE utasítás használatára.
Először hozzunk létre egy új, books nevű táblát a bemutatóhoz:
Code language: SQL (Structured Query Language) (sql)
Ezután a következő tárolt eljárással illesszünk be dummy adatokat a books táblába:
Code language: SQL (Structured Query Language) (sql)
Ezután töltsünk be 10 000 sort a books táblába. Ez eltart egy ideig.
Code language: SQL (Structured Query Language) (sql)
Ezután ellenőrizze az adatokat a books táblában:
Code language: SQL (Structured Query Language) (sql)
Végül a TRUNCATE TABLE utasítással törölje az összes sort a books táblából:
Code language: SQL (Structured Query Language) (sql)
Megjegyezzük, hogy összehasonlíthatja a TRUNCATE TABLE és a DELETE utasítás teljesítményét.
Ezzel a bemutatóval megtanulta, hogyan használhatja a MySQL TRUNCATE TABLE utasítást az összes adat hatékony törlésére egy táblából, különösen nagy táblák esetében.
- Hasznos volt ez a bemutató?
- IgenNem