Razlika med brisanjem in spustitvijo

Izbriši vs spusti

Ukazi Delete in Drop pripadajo stavkom SQL (Structured Query Language) in se uporabljajo v primeru odstranitve podatkov iz baze podatkov. Delete je ukaz DML (jezik manipulacije podatkov). Izbriše nekatere ali vse podatke iz tabele v skladu s pogojem, ki ga je uporabnik določil. Izjava Delete izbriše samo zapise podatkov v tabeli, struktura tabele pa je v bazi podatkov enaka. Ukaz "Drop" je stavek DDL (Data Definition Language) in deluje drugače kot ukaz Delete. Ni pogojno utemeljen stavek, zato izbriše celotne podatke iz tabele, prav tako pa odstrani strukturo tabele in vse reference na to tabelo iz baze podatkov.

Izbriši izjavo

Kot je navedeno zgoraj, stavek Delete odstrani podatke iz tabele na podlagi navedenega pogoja in za določitev tega zahtevanega pogoja se s klicem uporablja stavka. Če določba Where ni navedena z Delete, se vsi podatki tabele odstranijo iz tabele. Vendar v operaciji Delete obstoječa struktura tabel ostane enaka. Zato uporabniku ni treba določiti strukture tabele, če želi tabelo ponovno uporabiti. Ker je Delete izbrisan ukaz DML, se po zagonu ne zaveže samodejno. Torej se lahko to vrne nazaj, da se razveljavi prejšnja operacija. V nasprotnem primeru je treba poklicati izjavo zaveza, da bodo spremembe trajne. Medtem ko izvaja stavek Delete, zabeleži vpis v dnevnik transakcij za vsako črtanje vrstic. Torej, to vpliva na upočasnitev delovanja. Prav tako ne obravnava prostora, ki se uporablja po izvedbi.

Sledi skladnja za stavek Delete.

IZPUSTI OD

ali

IZKLJUČITE OD KJE

Izjava o padcu

Stavek Drop ne le odstrani vse zapise tabel iz baze podatkov, temveč tudi trajno odstrani strukturo tabel, omejitve integritete, indekse in privilegije dostopa do ustrezne tabele. Torej, vsa razmerja za druge tabele tudi ne obstajajo, informacije o tabeli pa se odstranijo iz podatkovnega slovarja. Če želi uporabnik ponovno uporabiti tabelo, mora znova določiti strukturo tabele in vsa druga sklicevanja na tabelo. Drop je ukaz DDL in ga po izvedbi ukaza ni mogoče znova vrniti, ker ukaz Drop uporablja samodejno zavezo. Zato mora biti uporabnik pri uporabi tega ukaza zelo previden. Stavka padca ni mogoče uporabiti za sistemske tabele, prav tako ga ni mogoče uporabiti za tabele, ki imajo omejitve tujih ključev.

Ukaz Drop se lahko uporablja ne le za tabele SQL, ampak tudi za baze podatkov, poglede in stolpce tabel, vsi podatki, shranjeni v teh objektih, pa se za vedno izgubijo skupaj s predmeti.

Sledi tipična sintaksa za ukaz Drop.

DROP TABELA

Kakšna je razlika med Delete in Drop?

1. Ukazi Delete in Drop odstranijo podatke tabel iz baze podatkov.

2. Toda stavek Delete izbriše pogojno na podlagi izbrisa, medtem ko ukaz Drop izbriše celotne zapise v tabeli.

3. Poleg tega stavek Delete odstrani samo vrstice v tabeli in ohrani strukturo tabele enako, medtem ko ukaz Drop odstrani vse podatke v tabeli in strukturo tabele, prav tako pa odstrani tudi vse druge reference iz baze podatkov.

4. Delete je stavek DML, medtem ko je Drop ukaz DDL. Torej operacijo Delete lahko vrnete nazaj in ni samodejno zavezana, medtem ko operacije Drop ni mogoče nikakor povrniti, ker gre za samodejno potrjeno izjavo.

5. Ukaza Drop ni mogoče uporabiti v tabelah, na katere se sklicujejo omejitve tujih ključev, medtem ko lahko namesto tega uporabite ukaz Delete..

6. Ukaz Drop je treba skrbno uporabljati z dobrim razumevanjem v primerjavi s stavkom Delete v aplikacijah SQL.