Delete vs Drop
Ukaza Delete in Drop pripadata stavkom SQL (jezik strukturiranih poizvedb) in se uporabljata v primeru odstranjevanja podatkov iz baze podatkov. Delete je ukaz DML (jezik za upravljanje podatkov). Iz tabele izbriše nekatere ali vse podatke v skladu s pogojem, ki ga je določil uporabnik. Stavek Delete odstrani samo zapise podatkov v tabeli, vendar je struktura tabele v bazi podatkov enaka. Ukaz Drop je izjava DDL (jezik za določanje podatkov) in deluje drugače kot ukaz Delete. To ni pogojni stavek, zato iz tabele izbriše celotne podatke, prav tako trajno odstrani strukturo tabele in vse sklice na to tabelo iz baze podatkov.
Izbriši izjavo
Kot je bilo omenjeno zgoraj, stavek Delete odstrani podatke iz tabele na podlagi zagotovljenega pogoja, klavzula Where pa se uporablja skupaj z Delete za določitev tega zahtevanega pogoja. Če klavzula Where ni navedena z Delete, se iz tabele odstranijo vsi podatki tabele. Vendar v operaciji Delete obstoječa struktura tabele ostane enaka. Zato uporabniku ni treba definirati strukture tabele, če želi tabelo znova uporabiti. Ker je Delete ukaz DML, se po izvedbi ne zaveže samodejno. Torej, to lahko povrnemo nazaj, da razveljavimo prejšnjo operacijo. V nasprotnem primeru je treba poklicati izjavo »Zavedi«, da bodo spremembe trajne. Med izvajanjem stavka Delete zabeleži vnos v dnevnik transakcij za vsako izbris vrstice. Torej to vpliva na upočasnitev delovanja. Pa tudi,ne sprosti prostora, uporabljenega po izvedbi.
Sledi sintaksa stavka Delete.
IZBRIŠI IZ
ali
IZBRIŠI OD KJER
Izjava o padcu
Stavek Drop iz baze podatkov brez kakršnih koli pogojev odstrani ne samo vse zapise tabele, temveč tudi trajno odstrani strukturo tabele, omejitve integritete, indekse in pravice dostopa do ustrezne tabele. Torej, vsi odnosi za druge tabele tudi ne obstajajo več, informacije o tabeli pa se odstranijo iz podatkovnega slovarja. Torej, če želi uporabnik ponovno uporabiti tabelo, mora znova definirati strukturo tabele in vse druge reference na tabelo. Drop je ukaz DDL in po izvedbi ukaza ga ni mogoče znova vrniti nazaj, ker ukaz Drop uporablja samodejno zavezo. Zato mora biti uporabnik zelo previden pri uporabi tega ukaza. Stavka spuščanja ni mogoče uporabiti v sistemskih tabelah in tudi ne za tabele z omejitvami tujega ključa.
Ukaz Drop se lahko uporablja ne samo za tabele SQL, temveč tudi za zbirke podatkov, poglede in stolpce tabel, vsi podatki, shranjeni v teh predmetih, pa se za vedno izgubijo skupaj s predmeti.
Sledi tipična sintaksa za ukaz Drop.
TAPELA ZA PADANJE
Kakšna je razlika med Delete in Drop? 1. Ukazi Delete in Drop odstranijo podatke tabele iz baze podatkov. 2. Stavek Delete pa izvede pogojno brisanje, 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 tudi vse druge reference iz baze podatkov. 4. Delete je stavek DML, Drop pa je ukaz DDL. Tako se lahko operacija Delete izbriše in ni samodejno zavezana, medtem ko operacije spuščanja ni mogoče na noben način vrniti nazaj, saj gre za izjavo s samodejno zavezanostjo. 5. Ukaza Drop ni mogoče uporabiti v tabelah, na katere se sklicujejo omejitve tujih ključev, namesto tega pa lahko uporabite ukaz Delete. 6. Ukaz Drop je treba uporabljati previdno z dobrim razumevanjem v primerjavi z stavkom Delete v aplikacijah SQL. |