Ö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