Kustuta vs tilk
Nii Delete kui Drop käsud kuuluvad SQL (Structured Query Language) lausetesse ja neid kasutatakse andmete eemaldamiseks andmebaasist. Kustuta on käsk DML (Data Manipulation Language). See kustutab mõned või kõik andmed tabelist vastavalt kasutaja määratud tingimusele. Lausel Kustuta eemaldatakse ainult tabelis olevad andmekirjed, kuid tabeli struktuur on andmebaasis sama. Drop-käsk on DDL-i (Data Definition Language) käsk ja see toimib käsust Kustutamine erinevalt. See ei ole tingimuspõhine lause, seega kustutab tabelist kogu andmed, samuti eemaldab see andmebaasist püsivalt tabeli struktuuri ja kõik viited sellele tabelile.
Kustuta avaldus
Nagu eespool mainitud, eemaldab käsk Kustuta käsk andmed tabelist esitatud tingimuse alusel ja selle nõutava tingimuse täpsustamiseks kasutatakse kustutusklauslit koos Kustutamisega. Kui kustutusklauslit ei ole kustutatud, eemaldatakse kõik tabeli andmed tabelist. Operatsioonis Kustuta jääb tabeli olemasolev struktuur siiski samaks. Seetõttu ei pea kasutaja tabeli struktuuri määratlema, kui ta soovib tabelit uuesti kasutada. Kuna Kustuta on DML-käsk, ei soorita see pärast täitmist automaatselt. Nii saab seda eelmise toimingu tagasivõtmiseks tagasi keerata. Vastasel juhul tuleks muudatuste püsivaks muutmiseks helistada avaldusele Commit. Käsku Kustuta käivitades salvestab see iga rea kustutamise kohta tehingupäevikusse kirje. Nii mõjutab see operatsiooni aeglustamist. Samuti,see ei jaga pärast täitmist kasutatud ruumi.
Järgmine on lause Kustuta süntaks.
Kustuta
või
Kustuta kust
Drop Statement
Drop lause eemaldab andmebaasist ilma tingimusteta ainult kõik tabelikirjed, vaid eemaldab ka püsivalt andmebaasist tabeli struktuuri, terviklikkuse piirangud, indeksid ja juurdepääsuõigused. Seega ei eksisteeri enam ka kõigi teiste tabelite seoseid ja teave tabeli kohta eemaldatakse andmesõnastikust. Seega, kui kasutaja soovib tabelit taaskasutada, peab ta uuesti määratlema tabeli struktuuri ja kõik muud viited tabelile. Drop on DDL-käsk ja pärast käsu täitmist ei saa seda uuesti tagasi kerida, kuna Drop-käsk kasutab automaatset pühendumist. Seetõttu peaks kasutaja olema selle käsu kasutamisel väga ettevaatlik. Drop-lauset ei saa rakendada süsteemitabelites ja seda ei saa kasutada ka tabelite puhul, millel on võõrvõti piirangud.
Drop-käsku saab kasutada mitte ainult SQL-i tabelite, vaid ka andmebaaside, vaadete ja tabeliveergude jaoks ning kogu nendesse objektidesse salvestatud teave läheb koos objektidega igaveseks kaduma.
Järgneb käsu Drop tüüpiline süntaks.
LENNUD TABEL
Mis on Delete ja Drop erinevus? 1. Kustutuskäsud kustutab tabeli andmed andmebaasist. 2. Kuid käsk Delete kustutab tingimusliku kustutamise, samas kui käsk Drop kustutab tabelist kogu kirjed. 3. Kustuta lause eemaldab ainult tabeli read ja see säilitab tabeli struktuuri samana, samas kui käsk Drop eemaldab kõik andmed tabelis ja tabeli struktuuris, samuti eemaldab see kõik muud viited andmebaasist. 4. Kustuta on DML-lause, samas kui Drop on DDL-käsk. Niisiis, kustutustoimingut saab tagasi pöörata ja seda ei tehta automaatselt, samal ajal kui langetamistoimingut ei saa mingil viisil tagasi pöörata, kuna see on automaatselt määratud lause. 5. Drop-käsku ei saa kasutada tabelitel, millele on viidatud võõrvõti piirangutega, selle asemel saab kasutada käsku Kustuta. 6. Drop-käsku tuleks kasutada ettevaatlikult, mõistes seda SQL-i rakenduste käsku Kustuta. |