A különbség a csonkolás és a törlés között A különbség
Az adatbázisok alapja az adatok létrehozása és manipulálása, DDL-nek és DML-nek nevezzük. A DDL a Data Definition Language rövidítése. Lehetőség van az adatstruktúrák létrehozására vagy módosítására az adatbázisokban, és nem használhatók arra, hogy megváltoztassák az asztalokon megjelenő adatokat. Például olyan parancsokkal rendelkezünk, amelyek csak létrehoznak egy táblázatot a megadott tábla attribútumokkal, de soha nem adnak hozzá sorokat a táblázatba. De egy DML, az adatkezelési nyelv, képes hozzáadni, törölni vagy módosítani az adatokat a táblázatokban. Általános szabályként a DDL parancsok foglalkoznak a táblázatos struktúrákkal, míg a DML parancsok foglalkoznak a tényleges adatokkal. Engedje meg, miért csak eltérünk a "Truncate és a Törlés közötti különbség" témától? Vannak okok, amelyekről beszéltünk a DML-ről és a DDL-ről. Megértené az előrelátó vitában.
Mi a Truncate parancs?
A Truncate parancs célja, hogy törölje a teljes táblát. Tehát ha egy Truncate parancsot használsz, akkor elveszíted az összes adatot az asztalon, és óvatosnak kell lenned használni. Tudassa velünk, hogyan kell használni.
A csonkolás szintaxisa:
TRUNCATE TABLE tábla neve ;
Itt adhatja meg a tábla nevét, amelyet egészben törölni kell. Ez biztosítja, hogy bármelyik asztal a memóriaterületen üljön. Íme egy példa a Truncate használatáról.
Az alábbiakban a "munkavállalói" táblázat látható, és csak nézzük meg az adatok sorát.
EMP-id | EMP-név | kijelölés |
1011 | Jack | Clerk |
1012 | Rosy | Admin |
1014 | Nancy > Pénzügy | |
TRUNCATE TABLE
alkalmazott; Itt van a fenti szintaxis eredménye, és nincs benne adat.
emp-id
emp-name | megjelölés | Mi a törlési parancs? |
A Delete parancs célja, hogy eltávolítsa a megadott sorokat a táblából. Itt a "Hol" kifejezést használjuk itt, hogy meghatározzuk a törölni kívánt sorokat. Amikor nem adjuk meg a sorokat, a parancs törli a táblázatban szereplő összes sort. Csak nézd meg a szintaxisát.
DELETE FROM
alkalmazott; A fenti szintaxis törli a "munkavállalói" táblázat összes sorát. Tehát a kapott táblázat nem tartalmaz adatokat.
DELETE FROM
employee WHERE emp-id = 1011; Ez az utasítás csak egy sorot töröl, amelynek emp-id értéke 1011. Tehát a kapott táblázat az alábbiak szerint lenne.
emp-id
emp-name | kijelölés | 1012 |
Rosy | Adminisztrátor | 1014 |
Nancy | Pénzügy | Különbségek: |
egy DDL; A törlés egy DML:
- Fentebb tárgyaltuk, hogyan működik a DDL és a DML a fenti beszélgetésünkben.A Truncate parancs egy DDL, és az adatstruktúra szinten működik. De a Törlés egy DML parancs, és a táblázat adatait használja. A DDL további példái a CREATE és az ALTER. Hasonló módon elmondhatjuk, hogy a parancsok, mint a SELECT, UPDATE és REPLACE tökéletes példák egy DML számára. Hogyan működik a csonkolás és a törlés:
- Amint kiadjuk a Truncate parancsot, csak megkeresi a megadott táblát. Ezután teljesen eltávolítja az összes adatot a memóriából. De a munkafolyamat kicsit más a Törlés esetében. Itt az eredeti táblázatadatokat az aktuális adatkezelés elvégzése előtt át kell másolni a "Roll back" helyre. Ezután a változtatások a tényleges táblaterületen történik. Tehát mindketten különböznek a munkájuk során. Csonkolás
-> teljes adat eltávolítása a tábláról -> A táblaterület szabaddá vált. Törlés
-> Másolja az eredeti táblázatok adatait visszafelé forgatva -> törli a megadott adatokat / teljes táblát -> A táblaterület szabadítva, de a visszafelé görgetés megtelt. Visszatekerés:
- A visszahúzódás olyan, mint a Visszavonás parancs a mi Microsoft kiegészítőként. Korábban arra használták fel, hogy megszüntessük a közelmúltban tett változásait. I. e. az utolsó mentett ponttól. A művelet elvégzése előtt az adatokat át kell másolni a Roll Back területre a szerkesztés előtt. Bár ezek a Roll backs szükségessé teszik az extra memóriát, rendkívül hasznosak ahhoz, hogy visszatérjenek az eredetihez. Különösen, ha valamilyen szerkesztést véletlenül! Lépjünk be a Csonkolás és a Törlés közé a Roll back-hoz képest. Amint azt a fentiekben tárgyaltuk, a Truncate soha nem használ felhúzható helyet, és nem tudtunk visszamenni az eredeti adatokhoz. De a Törlés paranccsal visszagörgetési területet használ, és csak a "Commit" vagy a "RollBack" elemet használhatjuk a változtatások elfogadásához vagy törléséhez. Triggerek:
- Azok számára, akiknek indokoltnak kell lenniük a kiváltó okok miatt, itt egy kis feljegyzés. A triggerek egy meghatározott művelet / műveletkészlet, amelyet akkor kell aktiválni, amikor a táblázat egy adott feltételhez kapcsolódik. Például a fizetési összeget megváltoztathatnánk, ha egy alkalmazott tapasztalata a cégnél több mint egy év. Ezek a triggerek más táblákon is működhetnek. Például frissíthetnénk a pénzügyi táblázatot, amint a munkavállaló számára fizetésemelést hajtottak végre. A csonkolás DDL parancs, a ravaszt nem engedélyezi itt. De a Delete egy DML parancs, a Triggers itt engedélyezett.
Melyik gyorsabb?
- Ahogy kitaláltad, a Truncate parancs gyorsabb lenne, mint a Delete parancs. Az előbbi eltávolíthatja az összes adatot, és nincs szükség arra, hogy ellenőrizze a megfelelő feltételeket. Emellett az eredeti adatokat nem másolja a visszaállítási területre, és ez sok időt takarít meg. Ez a két tényező teszi, hogy a Truncate gyorsabban működik, mint a Törlés. Használhatjuk WHERE záradékot?
- A "Hol" klauzulát használjuk bizonyos feltételek megadására, és nincs semmi a Csonkolással. Mivel a Truncate soha nem keres megfelelő feltételeket, és csak eltávolítja az összes sort, itt nem használhatjuk a "Where" kifejezést.De mindenkor meg lehetne adni a feltételeket a Delete parancsban található "where" clause segítségével. Mi több helyet foglal el?
- A csonkítás nem fogja használni a visszaállítási területet, és ez a memóriát. A törlés azonban szükségessé teszi a biztonsági mentést a visszaállítási terület formájában, és ezért több memóriaterületet igényel, mint a csonkítás. Tehát ezek a különbségek, és nézzük meg táblázatos formában.
S. Nem
Különbségek | Csonkolás | Törlés | 1. |
DDL vagy DML? | Ez DDL, és az adatstruktúra szintjén működik. A DDL további példái a CREATE és az ALTER. | Ez egy DML parancs, és működik a táblázatban. A DML jelentése a Data Manipulation Language. Az olyan parancsok, mint a SELECT, UPDATE és REPLACE tökéletes példák egy DML számára. A DML jelentése a Data Manipulation Language. |
2. |
Hogyan működik? | Amint kiadjuk a Truncate parancsot, csak megkeresi a megadott táblát. Ezután teljesen eltávolítja az összes adatot a memóriából. | Itt az eredeti táblázatadatokat az aktuális adatkezelés elvégzése előtt át kell másolni a "Roll back" helyre. Ezután a változtatások a tényleges táblaterületen történik. | 3. |
RollBack | A Truncate parancs soha nem használ felhúzási területet, és nem tudtunk visszamenni az eredeti adatokhoz. A visszaállítási terület exkluzív, és a DML parancsok kiadásakor foglalt. | A Törlés parancs visszagörgetési területet használ, és csak a "Commit" vagy a "RollBack" parancsot használhatjuk a változtatások elfogadásához vagy törléséhez. | 4. |
Triggers | A csonkolás egy DDL parancs, a triggerek nem megengedettek. | A törlés egy DML parancs, a Triggers itt engedélyezett. | 5. |
Melyik gyorsabb? | Az összes adatot eltávolíthatja, és nincs szükség arra, hogy ellenőrizze a megfelelő feltételeket. Emellett az eredeti adatokat nem másolja a visszaállítási területre, és ez sok időt takarít meg. Ez a két tényező teszi, hogy a Truncate gyorsabban működik, mint a Törlés. | A visszaforgatási helyet használja, és mindig az eredeti adatokat meg kell őrizni rajta. Ez extra terhet jelent, és viszont sok időt vesz igénybe, mint a Truncate. | 6. |
Használhatjuk WHERE záradékot? | Mivel a Truncate soha nem keres megfelelő feltételeket, és csak eltávolítja az összes sort, itt nem használhatjuk a "Where" kifejezést. | De mindenkor meg lehetne adni a feltételt a Delete parancsban található "where" clause segítségével. | 7. |
Mi több helyet foglal el? | A csonkítás nem fogja használni a visszaállítási területet, és ez a memóriát. | Biztonsági mentést igényel a visszaállítási terület formájában, ezért több memóriahelyet igényel, mint a csonk. | A két szervezet közötti különbségek ismerete kiterjeszti mindkét ismeretet! Ön jó úton haladt. e. a weboldal, hogy megértsék a különbségeket, különösen a csonk és törlés parancsok között. Remélem, hogy tisztában vagy a különbségekkel, és tudassa velünk, hogy segített-e neked megérteni. Segíthet nekünk abban is, hogy rámutassunk, melyik maradt! |