Skirtumas tarp sutrumpinimo ir ištrynimo

Duomenų kūrimas ir manipuliavimas sudaro duomenų bazių pagrindą ir mes atitinkamai vadiname DDL ir DML. DDL yra duomenų apibrėžimo kalbos santrumpa. Tai galėtų sukurti arba modifikuoti duomenų struktūras duomenų bazėse, ir jos negalėjo būti naudojamos lentelėse esantiems duomenims pakeisti. Pvz., Turime komandas, kurios tiesiog sukuria lentelę su nurodytais lentelės atributais, tačiau ji niekada neprideda jokių lentelės eilučių. Bet DML, duomenų tvarkymo kalba, gali pridėti, ištrinti ar modifikuoti duomenis lentelėse. Paprastai DDL komandos susijusios su lentelių struktūromis, o DML komandos - su tikraisiais duomenimis. Būk taip, kodėl mes tiesiog nukrypstame nuo temos „Skirtumas tarp sutrumpinimo ir ištrynimo“? Yra priežasčių, kodėl mes kalbėjome apie DML ir DDL. Jūs suprastumėte tai vykstančioje diskusijoje.

Kas yra sutrumpinimo komanda?

Truncate komandos tikslas yra ištrinti visą lentelę. Taigi, kai naudojate komandą Apipjaustyti, prarasite visus lentelės duomenis ir turėtumėte būti atsargūs naudodamiesi ja. Praneškite mums, kaip ja naudotis.

Trumpinimo sintaksė:

NUSTATYMO LENTELĖ stalo pavadinimas;

Čia turėtumėte nurodyti lentelės, kuri turėtų būti išbraukta, pavadinimą. Tai garantuoja, kad atminties vietoje sėdės koks nors stalas. Čia yra „Truncate“ naudojimo pavyzdys.

Žemiau yra lentelė „darbuotojas“ ir tiesiog pažiūrėkite į joje esančias duomenų eilutes.

emp-id emp-vardas paskyrimas
1011 Domkratas Tarnautojas
1012 Rožinis Administratorius
1014 Nancy Finansai

Dabar leiskite mums išduoti žemiau esančią komandą ant darbuotojų stalo.

NUSTATYMO LENTELĖ darbuotojas;

Čia yra aukščiau pateiktos sintaksės rezultatas ir joje nėra duomenų.

emp-id emp-vardas paskyrimas

Kas yra trinimo komanda?

Komandos „Trinti“ tikslas yra pašalinti nurodytas eilutes iš lentelės. Čia naudojama išlyga „Kur“, naudojama eilutėms, kurias reikia ištrinti, nurodyti. Kai nenurodysime eilučių, komanda ištrins visas lentelės eilutes. Pažvelkite tik į jos sintaksę.

IŠtrinti iš darbuotojas;

Aukščiau pateikta sintaksė panaikina visas eilutes iš lentelės „darbuotojas“. Taigi gautoje lentelėje nėra duomenų.

IŠtrinti iš darbuotojas KUR emp-id = 1011;

Šis teiginys tik ištrina vieną eilutę, kurios emp-id yra 1011. Taigi gauta lentelė būtų tokia, kaip nurodyta žemiau.

emp-id emp-vardas paskyrimas
1012 Rožinis Administratorius
1014 Nancy Finansai

Skirtumai:

  • Apipjaustymas yra DDL; Ištrinti yra DML: Aukščiau aptarėme, kaip veikia DDL ir DML. „Truncate“ komanda yra DDL ir ji veikia duomenų struktūros lygiu. Bet „Delete“ yra DML komanda ir ji veikia su lentelės duomenimis. Kiti DDL pavyzdžiai yra CREATE ir ALTER. Panašiu būdu galėtume pasakyti, kad tokios komandos kaip SELECT, UPDATE ir INSERT yra puikūs DML pavyzdžiai..
  • Kaip veikia sutrumpinimas ir ištrynimas: Kai tik išduosime komandą Apipjaustyti, ji tiesiog ieškos nurodytos lentelės. Tada jis visiškai pašalina visus duomenis iš atminties. Tačiau ištrinimo atveju darbo tvarka mažai skiriasi. Čia, prieš atliekant faktinius duomenų tvarkymo veiksmus, originalūs lentelės duomenys nukopijuojami į vietą, vadinamą „Grįžimo atgal“ vieta. Tada pakeitimai atliekami faktinėje lentelės duomenų erdvėje. Taigi abu jie skiriasi tuo, kaip dirba.

Apipjaustyti -> pašalinti visus duomenis iš lentelės -> lentelės vieta yra laisva.

Ištrinti -> Nukopijuokite originalius lentelės duomenis į „Roll Back“ vietą -> ištrinkite nurodytus duomenis / visą lentelę -> Lentelės vieta yra laisva, bet „Roll Back“ vieta užpildyta.

  • Atgal: Grąžinimas yra tarsi „Microsoft“ priedų komanda „Anuliuoti“. Jis naudojamas atšaukti pakeitimus, kuriuos atlikome neseniai, t.y., iš paskutinio išsaugoto taško. Prieš atlikdami operaciją, duomenys turėtų būti nukopijuoti į „Roll Back“ vietą. Nors šioms „Roll“ atsarginėms kopijoms reikia papildomos atminties, jos yra ypač naudingos norint sugrąžinti originalą. Ypač, kai jūs redaguojate per klaidą! Dabar grįžkime prie „Truncate“ ir „Delete“. Kaip mes aptarėme aukščiau, „Truncate“ niekada nenaudoja vietos atnaujinti vietos ir mes negalėjome grįžti prie pirminių duomenų. Bet komanda „Ištrinti“ naudoja atšaukiamą vietą ir mes galime tiesiog naudoti „Įpareigoti“ arba „Atšaukti“ atitinkamai priimti arba atšaukti pakeitimus..
  • Trigeriai: Tiems, kuriems reikia paaiškinimų apie paleidiklius, čia yra maža pastaba. Paleidikliai yra iš anksto nurodytas operacijų / operacijų rinkinys, kuris turėtų būti suaktyvinamas, kai lentelė susiduria su tam tikra sąlyga. Pavyzdžiui, atlyginimo dydį galime pakeisti tada, kai darbuotojo patirtis įmonėje yra daugiau nei metai. Šie aktyvikliai gali veikti ir prie kitų lentelių. Pavyzdžiui, mes galėtume atnaujinti finansų lentelę, kai tik darbuotojas padidino atlyginimą.

Truncate yra DDL komanda, trigeris čia neleidžiamas. Bet Trinti yra DML komanda, čia leidžiami trigeriai.

  • Kuris yra greitesnis? Kaip jūs atspėjote, „Truncate“ komanda bus greitesnė nei komanda „Trinti“. Pirmasis gali pašalinti visus duomenis ir nereikia tikrinti, ar yra atitikimo sąlygų. Be to, pradiniai duomenys nekopijuojami į atnaujinimo vietą ir tai sutaupo daug laiko. Šie du veiksniai verčia „Truncate“ veikti greičiau nei ištrinti.
  • Ar galėtume naudoti WHERE sąlygą?? „Kur“ sąlyga yra naudojama tam tikroms atitikimo sąlygoms apibrėžti, ir tai neturi nieko bendra su „Truncate“. Kadangi „Truncate“ niekada neieško atitikimo sąlygų ir tiesiog pašalina visas eilutes, čia negalėtume naudoti „kur“ sąlygos. Bet sąlygą visada galėjome nurodyti naudodamiesi klaida „iš kur“ komandoje „Ištrinti“.
  • Kuris užima daugiau vietos? Apatinis trikotažas nesinaudos atšaukimo vieta ir išsaugo tą atmintį. Bet norint ištrinti reikia sukurti atsarginę kopiją atkuriamosios erdvės pavidalu, taigi jai reikia daugiau vietos nei sutrumpintai.

Taigi, tai yra skirtumai ir pažvelkime į lentelę.

S.Ne Skirtumai Apipjaustyti Ištrinti
1. DDL arba DML? Tai yra DDL ir veikia duomenų struktūros lygiu. Kiti DDL pavyzdžiai yra CREATE ir ALTER. Tai yra DML komanda ir ji veikia su lentelės duomenimis. DML reiškia duomenų tvarkymo kalbą. Tokios komandos kaip SELECT, UPDATE ir INSERT yra puikūs DML pavyzdžiai. DML reiškia duomenų tvarkymo kalbą.

2. Kaip tai veikia? Kai tik išduosime komandą Apipjaustyti, ji tiesiog ieškos nurodytos lentelės. Tada jis visiškai pašalina visus duomenis iš atminties. Čia, prieš atliekant faktinius duomenų tvarkymo veiksmus, originalūs lentelės duomenys nukopijuojami į vietą, vadinamą „Grįžimo atgal“ vieta. Tada pakeitimai atliekami faktinėje lentelės duomenų erdvėje.
3. „RollBack“ „Truncate“ komanda niekada nenaudoja vietos atnaujinimo vietai ir mes negalėjome grįžti prie pirminių duomenų. Atšaukimo vieta yra išskirtinė ir užimama, kai išleidžiamos DML komandos. Komanda „Ištrinti“ naudoja atšaukiamą vietą ir mes galime tiesiog naudoti „Įsipareigoti“ arba „Atšaukti“ atitinkamai priimti arba atšaukti pakeitimus..

4. Trigeriai Apipjaustymas yra DDL komanda, paleidikliai neleidžiami. Trinti yra DML komanda, čia leidžiami trigeriai.

5. Kuris yra greitesnis? Tai gali pašalinti visus duomenis ir nereikia tikrinti, ar yra atitikimo sąlygų. Be to, pradiniai duomenys nekopijuojami į atnaujinimo vietą ir tai sutaupo daug laiko. Šie du veiksniai verčia „Truncate“ veikti greičiau nei ištrinti.

Tam naudojama atšaukimo vieta ir visada turi būti išsaugoti pirminiai duomenys. Tai yra papildoma našta ir, savo ruožtu, atima daug laiko nei „Truncate“.
6. Ar galėtume naudoti WHERE sąlygą?? Kadangi „Truncate“ niekada neieško atitikimo sąlygų ir tiesiog pašalina visas eilutes, negalėtume čia naudoti „kur“ sąlygos. Bet sąlygą visada galėjome nurodyti naudodamiesi klaida „iš kur“ komandoje „Ištrinti“.
7. Kuris užima daugiau vietos? Apatinis trikotažas nesinaudos atšaukimo vieta ir išsaugo tą atmintį. Jam reikia atsarginės kopijos atšauktos erdvės pavidalu, taigi jai reikia daugiau atminties nei sutrumpintai.

Žinant bet kurių dviejų esybių skirtumus, praplečiamos žinios apie abu! Jūs nusileidote teisingu keliu, t. Y. Tinklalapiu, kad suprastumėte skirtumus, ypač tarp sutrumpinimo ir ištrynimo komandų. Tikiuosi, kad jums dabar aiškūs skirtumai ir praneškite mums, jei mes padėjome jums tai suprasti. Jūs taip pat galėtumėte mums padėti nurodyti, kas liko!