Skraćivanje i brisanje

Anonim

Kreiranje i manipulacija podataka čine osnovu baza podataka i mi ga nazivamo DDL i DML. DDL je kratica za jezik definiranja podataka. Može ili izraditi ili mijenjati strukture podataka u bazama podataka i nisu se mogle koristiti za mijenjanje podataka koji se nalaze na tablicama. Na primjer, imamo naredbe koje samo stvaraju tablicu s navedenim atributima tablice, ali nikada ne dodaju redaka u tablicu. No DML, jezik manipulacije podacima, može dodati, brisati ili mijenjati podatke u tablicama. Kao opće pravilo, DDL naredbe obrađuju strukture tablice, dok se naredbe DML bave stvarnim podacima. Neka bude, zašto samo odstupamo od teme "Razlika između skrivanja i brisanja"? Postoje razlozi zbog kojih smo govorili o DML i DDL. To biste razumjeli u predstojećoj raspravi.

Što je naredba skretanja?

Svrha naredbe Truncate je brisanje cijele tablice. Stoga, kada koristite naredbu skretanja, gubite sve podatke na stolu i trebali biste biti oprezni pri korištenju. Javite nam kako ga koristiti.

Sinkta Truncata:

TRUNCATE TABLE stolni ime;

Ovdje bi trebalo navesti naziv tablice koja bi trebala biti izbrisana u cjelini. To osigurava da se u prostoru za sjesti sjedi bilo koji stol. Evo primjera korištenja Truncate.

Ispod je tablica 'zaposlenika' i samo pogledajte redove podataka u njemu.

EMP id EMP-name oznaka
1011 utičnica službenik
1012 ružičast Admin
1014 Nancy Financije

Sada, izdajemo naredbu ispod tablice zaposlenika.

TRUNCATE TABLE zaposlenik;

Ovdje je rezultat gornje sintakse i nema podataka u njemu.

EMP id EMP-name oznaka

Što je naredba Brisanje?

Svrha naredbe Brisanje je ukloniti navedene retke iz tablice. Ovdje se ovdje upotrebljava klauzula "Gdje" kako biste odredili redove koji trebaju biti izbrisani. Kada ne navedemo retke, naredba će izbrisati sve retke u tablici. Pogledajte samo sintaksu.

DELETE FROM zaposlenik;

Gornja sintaksa briše sve redove iz tablice 'zaposlenika'. Stoga tablica ne bi sadržavala podatke.

DELETE FROM zaposlenik GDJE emp-id = 1011;

Ova izjava samo briše jedan red čiji emp-id je 1011. Dakle, dobivena tablica bi bila kao u nastavku.

EMP id EMP-name oznaka
1012 ružičast Admin
1014 Nancy Financije

Razlike:

  • Truncate je DDL; Brisanje je DML: Gore smo raspravljali o tome kako DDL i DML rade u našoj prethodnoj raspravi. Naredba Truncate je DDL i djeluje na razini strukture podataka. No Brisanje je naredba DML i funkcionira na podacima tablice. Drugi primjeri za DDL su CREATE i ALTER. Na sličan način možemo reći da su naredbe kao što su SELECT, UPDATE i INSERT savršeni primjeri za DML.
  • Kako funkcionira skrivanje i brisanje: Čim izdamo naredbu skretanja, ona samo traži određenu tablicu. Zatim potpuno uklanja sve podatke iz memorije. No, postupak rada se malo razlikuje u slučaju brisanja. Ovdje se izvorni podaci tablice kopiraju u prostor pod nazivom "Vraćanje natrag" prije izvršavanja stvarne manipulacije podacima. Zatim se promjene izvršavaju na stvarnom podatkovnom prostoru tablice. Dakle, oboje se razlikuju po načinu na koji rade.

Skratiti -> uklanjajte cijele podatke iz tablice -> Sada se prostor tablice oslobađa.

Izbrisati -> Kopirajte izvorne podatke tablice u prostor Roll Back -> izbrišite navedene podatke / cijelu tablicu -> Otvori se prostor za tablicu, ali prostor Roll Back se napuni.

  • Vratite se natrag: Povratak je poput naredbe Undo u našem dodatnom priboru tvrtke Microsoft. Koristi se za otkazivanje promjena koje smo nedavno učinili, tj. Od zadnje spremljene točke. Da biste izvršili operaciju, podaci trebaju biti kopirani u prostor Roll Back prije nego što se uređuju. Iako ove Roll leđa zahtijevaju dodatnu memoriju, izuzetno su korisne vratiti se izvorniku. Pogotovo, kada nešto pogrešno uređujete! Idemo u Truncate i izbrišite u odnosu na Roll back sada. Kao što smo već razgovarali, Truncate nikada ne koristi prostor za povratak i ne možemo se vratiti izvornim podacima. No, naredba Brisanje koristi prostor za povratak i možemo upotrijebiti "Obavezno" ili "Rollback" da biste prihvatili ili otkazali promjene.
  • okidači: Za one koji trebaju objašnjenje o pokretačima, ovdje je mala bilješka. Okidači su unaprijed određeni skup operacija / operacija koji bi se trebali aktivirati kada se tablica susreće s određenim uvjetima. Na primjer, možemo pokrenuti promjenu visine plaće kada je iskustvo zaposlenika s tvrtkom više od godinu dana. Ti okidači mogu raditi i na drugim stolovima. Na primjer, mogli bismo ažurirati tablicu za financije čim se zaposleniku poduzme povećanje plaće.

Truncate je naredba DDL, okidač nije dopušten ovdje. No brisanje je naredba DML, ovdje su dopušteni okidači.

  • Što je brže? Kao što ste pogađali, naredba Truncate bila bi brža od naredbe Delete. Bivši bi mogao ukloniti sve podatke i nema potrebe provjeravati postoje li odgovarajući uvjeti.Isto tako, izvorni podaci se ne kopiraju u prostor za vraćanje podataka i to štedi puno vremena. Ta dva čimbenika čine Skraćivanje raditi brže od brisanja.
  • Mogu li koristiti WHERE klauzulu? Klauzula "Gdje" upotrebljava se za određivanje određenih uvjeta podudaranja i nema ništa s Skraćivanjem. Budući da Truncate nikada ne traži odgovarajuće uvjete i samo uklanja sve redove, ovdje ne možemo upotrebljavati klauzulu 'Gdje'. No, uvijek možemo odrediti stanje uz pomoć klauzule "gdje" u naredbi Brisanje.
  • Što zauzima više prostora? Skraćivanje neće upotrebljavati prostor za povlačenje i to sprema memoriju. No izbrisati je potrebno sigurnosno kopiranje u obliku prostora za povratak pa stoga zahtijeva više prostora za memoriju od skraćivanja.

Zato su one razlike i neka nas pogledamo u tabličnom obliku.

S.No Razlike u Skratiti Izbrisati
1. DDL ili DML? To je DDL i djeluje na razini strukture podataka. Drugi primjeri za DDL su CREATE i ALTER. To je naredba DML koja radi na tabličnim podacima. DML označava jezik manipulacije podacima. Naredbe kao što su SELECT, UPDATE i INSERT su savršeni primjeri za DML. DML označava jezik manipulacije podacima.

2. Kako radi? Čim izdamo naredbu skretanja, ona samo traži određenu tablicu. Zatim potpuno uklanja sve podatke iz memorije. Ovdje se izvorni podaci tablice kopiraju u prostor pod nazivom "Vraćanje natrag" prije izvršavanja stvarne manipulacije podacima. Zatim se promjene izvršavaju na stvarnom podatkovnom prostoru tablice.
3. Rollback Naredba Truncate nikada ne koristi prostor za povratak i ne možemo se vratiti izvornim podacima. Povratni prostor je ekskluzivan i zauzima se kada se izdaju naredbe DML. Naredba Izbriši upotrebljava razmak natrag i možemo upotrijebiti "Obavezno" ili "Rollback" da biste prihvatili ili odustali od izmjena.

4. okidači Truncate je DDL naredba, okidači nisu dopušteni. Brisanje je naredba DML, ovdje su dopušteni okidači.

5. Što je brže? Moglo bi ukloniti sve podatke i nema potrebe provjeravati postoje li odgovarajući uvjeti. Isto tako, izvorni podaci se ne kopiraju u prostor za vraćanje podataka i to štedi puno vremena. Ta dva čimbenika čine Skraćivanje raditi brže od brisanja.

Upotrebljava prostor za povrat i uvijek mora biti zadržan izvorni podatak na njemu. Ovo je dodatni teret i zauzvrat traži mnogo vremena od Truncata.
6. Mogu li koristiti WHERE klauzulu? Budući da Truncate nikada ne traži odgovarajuće uvjete i samo uklanja sve redove, ovdje ne možemo upotrebljavati klauzulu 'Gdje'. No, uvijek možemo odrediti stanje uz pomoć klauzule "gdje" u naredbi Brisanje.
7. Što zauzima više prostora? Skraćivanje neće upotrebljavati prostor za povlačenje i to sprema memoriju. Potrebna je sigurnosna kopija u obliku Rollback prostora i stoga zahtijeva više prostora za memoriju od skraćivanja.

Poznavanje razlika između bilo koje dvije osobe širi znanje o oba! Uspjeli ste na pravi put, tj. Na web stranicu da biste razumjeli razlike, osobito, između skraćivanja i brisanja naredbi. Nadam se da ste sada jasni sa svojim razlikama i javite nam ako smo vam pomogli da to shvatite. Možete nam također pomoći da istaknemo što je ostalo!