Törlés vs Ledobás
Mind a Delete, mind a Drop parancsok az SQL (Structured Query Language) utasításokhoz tartoznak, és adatok adatbázisból való eltávolítása esetén használatosak. A törlés egy DML (Data Manipulation Language) parancs. A felhasználó által megadott feltételnek megfelelően törli az adatok egy részét vagy az összes adatot a táblából. A Delete utasítás csak a tábla adatrekordjait távolítja el, de a táblaszerkezet ugyanazt mutatja az adatbázisban. A Drop parancs egy DDL (Data Definition Language) utasítás, és a Delete parancstól eltérő módon működik. Nem feltételes alapú utasítás, így a teljes adatot törli a táblából, valamint végleg eltávolítja az adatbázisból a tábla szerkezetét és a táblára vonatkozó összes hivatkozást.
Kivonat törlése
Amint fentebb említettük, a Delete utasítás a megadott feltétel alapján eltávolítja az adatokat a táblából, és a Where záradékot a Delete mellett használják a szükséges feltétel megadására. Ha a Where záradék nincs megadva a Törlés mellett, akkor az összes táblaadat eltávolításra kerül a táblából. A Törlés műveletben azonban a meglévő táblastruktúra változatlan marad. Ezért a felhasználónak nem kell meghatároznia a tábla szerkezetét, ha újra fel akarja használni a táblát. Mivel a Törlés egy DML-parancs, a végrehajtás után nem véglegesít automatikusan. Tehát ez visszaforgatható az előző művelet visszavonásához. Ellenkező esetben a Commit nyilatkozatot kell meghívni a változtatások véglegessé tételéhez. A Delete utasítás végrehajtása során minden sortörléshez bejegyzést rögzít a tranzakciós naplóban. Tehát ez hatással van a művelet lelassítására. Valamint nem szabadítja fel a végrehajtás után használt területet.
A Delete utasítás szintaxisa a következő.
TÖRLÉS A KÉSZÜLÉKBŐL
vagy
TÖRLÉS AHOnnan
Nyilatkozat eldobása
A Drop utasítás nem csak az összes táblarekordot távolítja el az adatbázisból feltétel nélkül, hanem végleg eltávolítja a megfelelő tábla táblaszerkezetét, integritási korlátait, indexeit és hozzáférési jogosultságait is az adatbázisból. Így a többi tábla összes kapcsolata már nem létezik, és a táblára vonatkozó információk eltávolítódnak az adatszótárból. Tehát, ha a felhasználó újra fel akarja használni a táblát, akkor újra meg kell határoznia a tábla szerkezetét és az összes többi hivatkozást a táblára. A Drop egy DDL parancs, és a parancs végrehajtása után nem lehet visszaforgatni, mert a Drop parancs automatikus elkötelezettséget használ. Ezért a felhasználónak nagyon óvatosnak kell lennie a parancs használatával. A Drop utasítás nem alkalmazható rendszertáblákra, és nem használható olyan táblákhoz sem, amelyeknek idegenkulcs-megszorítások vannak.
A Drop parancs nem csak SQL táblákhoz használható, hanem adatbázisokhoz, nézetekhez és táblázatoszlopokhoz is, és az ezekben az objektumokban tárolt összes adat örökre elveszik az objektumokkal együtt.
A következő a Drop parancs tipikus szintaxisa.
DOP TABLE
Mi a különbség a Törlés és az Eldobás között?
1. A Delete és Drop parancsok eltávolítják a táblázat adatait az adatbázisból.
2. De a Delete utasítás feltételes törlést hajt végre, míg a Drop parancs a tábla teljes rekordját törli.
3. Ezenkívül a Delete utasítás csak a táblázat sorait távolítja el, és megőrzi a tábla szerkezetét, míg a Drop parancs eltávolítja a táblázat összes adatát és a táblaszerkezetet, valamint eltávolítja az összes többi hivatkozást az adatbázisból.
4. A Delete egy DML utasítás, míg a Drop egy DDL parancs. Tehát a Delete művelet visszaállítható, és nem kerül automatikusan véglegesítésre, míg a Drop művelet semmilyen módon nem állítható vissza, mivel ez egy automatikus véglegesítés.
5. A Drop parancs nem használható azokon a táblákon, amelyekre idegenkulcs-megszorítások hivatkoztak, míg a Delete parancs használható helyette.
6. A Drop parancsot óvatosan és az SQL-alkalmazások Delete utasításával összehasonlítva kell használni.