Crearea și manipularea de date constituie baza bazelor de date și le numim DDL și, respectiv, DML. Un DDL este o abreviere pentru limbajul de definire a datelor. Ar putea crea sau modifica structurile de date din bazele de date și nu ar putea fi folosite pentru a modifica datele prezente pe tabele. De exemplu, avem comenzi care doar creează un tabel cu atributele de tabelă specificate, dar niciodată nu adaugă nici o rânduri în tabel. Dar un DML, Limbajul de manipulare a datelor, este capabil de a adăuga, șterge sau modifica date în tabele. Ca regulă generală, comenzile DDL se ocupă de structurile de tabele, în timp ce comenzile DML se referă la datele reale. Lăsați-l să fie, de ce ne abatem de la subiectul "Diferența între trunchiere și ștergere"? Există motive pe care le-am vorbit despre DML și DDL. Ați înțelege-o în discuția care a urmat.
Scopul unei comenzi Truncate este de a șterge întregul tabel. Atunci când utilizați o comandă Truncate, veți pierde toate datele de pe masă și ar trebui să fiți atenți la utilizarea acesteia. Anunță-ne cum să o folosim.
Sintaxa lui Truncate:
TRUNCATE TABLE tabel nume-;
Aici trebuie să specificați numele tabelului care ar trebui șters în întregime. Acest lucru asigură că ar exista o masă care să stea în spațiul de memorie. Iată un exemplu de folosire a Truncate.
Mai jos este tabelul "angajat" și doar uita-te la rândurile de date din el.
emp id- | emp-name | desemnare |
1011 | Jack | Funcționar |
1012 | Roz | admin |
1014 | Nancy | Finanţa |
Acum, să emităm comanda de mai jos pe tabelul angajaților.
TRUNCATE TABLE angajat;
Aici rezultă sintaxa de mai sus și nu există date în ea.
emp id- | emp-name | desemnare |
Scopul unei comenzi Delete este de a elimina rândurile specificate din tabel. Aici, clauza "Unde" este utilizată aici pentru a specifica rândurile care trebuie șterse. Când nu specificăm rândurile, comanda va șterge toate rândurile din tabel. Uită-te la sintaxa lui.
Ștergeți din angajat;
Sintaxa de mai sus șterge toate rândurile din tabelul "angajat". Deci tabela rezultantă nu conține date.
Ștergeți din angajat UNDE emp-id = 1011;
Această declarație șterge doar un singur rând al cărui emp-id este 1011. Deci, tabelul rezultat ar fi cel descris mai jos.
emp id- | emp-name | desemnare |
1012 | Roz | admin |
1014 | Nancy | Finanţa |
Trunchia -> eliminați toate datele din tabel -> Spațiul tabelului este eliberat acum.
Șterge -> Copiați datele din tabelul original în spațiul Roll Back -> ștergeți datele specificate / întregul tabel -> Spațiul tabelului este eliberat, dar spațiul Roll Back este umplut.
Truncate este o comandă DDL, declanșatorul nu este permis aici. Dar o ștergere este o comandă DML, declanșatorii sunt permise aici.
Deci, acestea sunt diferențele și să ne uităm într-o formă tabulară.
S.No | Diferențele în | Trunchia | Șterge |
1. | DDL sau DML? | Este un DDL și funcționează la nivelul structurii de date. Alte exemple pentru DDL sunt CREATE și ALTER. | Este o comandă DML și operează pe datele din tabel. DML este un limbaj pentru manipularea datelor. Comenzile precum SELECT, UPDATE și INSERT sunt exemple perfecte pentru o DML. DML este un limbaj pentru manipularea datelor. |
2. | Cum functioneazã? | Imediat ce emitem comanda Truncate, ea caută doar tabelul specificat. Apoi elimină complet toate datele din memorie. | Aici, datele din tabelul original sunt copiate în spațiu numită spațiu "Roll back" înainte de a efectua manipularea reală a datelor. Apoi, modificările se efectuează pe spațiul real de date din tabele. |
3. | RollBack | Comanda Truncate nu folosește niciodată un spațiu de redirecționare și nu am putut reveni la datele originale. Un spațiu de revizuire este unul exclusiv și este ocupat la emiterea comenzilor DML. | Comanda de ștergere utilizează spațiul de redirecționare și am putea folosi fie "Commit", fie "RollBack" pentru a accepta sau a anula modificările.
|
4. | declanșatoare | Truncate este o comandă DDL, declanșatoarele nu sunt permise. | Ștergerea este o comandă DML, sunt activate declanșatoarele aici.
|
5. | Ceea ce este mai rapid? | Ar putea elimina toate datele și nu este nevoie să verificați condițiile de potrivire. De asemenea, datele originale nu sunt copiate în spațiul de redare și acest lucru economisește mult timp. Acești doi factori fac ca Truncate să funcționeze mai repede decât Șterge.
| Utilizează spațiul de redare și întotdeauna trebuie păstrate datele originale. Aceasta este o povară suplimentară și, la rândul său, durează mult timp decât Truncate. |
6. | Putem folosi clauza WHERE? | Cum Truncate nu caută niciodată condiții de potrivire și doar elimină toate rândurile, nu am putut folosi o clauză "Unde" aici. | Dar am putut întotdeauna să specificăm condiția cu ajutorul clauzei "unde" în comanda Ștergere. |
7. | Care ocupă mai mult spațiu? | Trunchiul nu folosește spațiul de redare și salvează memoria. | Este nevoie de o copie de rezervă sub forma unui spațiu de redare și, prin urmare, necesită mai mult spațiu de memorie decât trunchiul. |
Cunoașterea diferențelor dintre oricare două entități lărgește cunoștințele despre ambele! Ați aterizat pe o cale dreaptă, adică pe pagina web, pentru a înțelege diferențele, în special între comenzile trunchiere și ștergere. Sper că sunteți clar acum cu diferențele sale și spuneți-ne dacă v-am fi ajutat să o înțelegeți. Ne puteți ajuta, de asemenea, să arătăm ce a mai rămas!