Kustutamise ja kukutamise erinevus

Kustutamise ja kukutamise erinevus
Kustutamise ja kukutamise erinevus

Video: Kustutamise ja kukutamise erinevus

Video: Kustutamise ja kukutamise erinevus
Video: В ПРОКЛЯТОМ ЛЕСУ я наткнулся на само ЗЛО 2024, Juuli
Anonim

Kustuta vs kukutamine

Nii Delete kui Drop käsud kuuluvad SQL (Structured Query Language) lausete alla ja neid kasutatakse andmete andmebaasist eemaldamisel. Kustuta on käsk DML (Data Manipulation Language). See kustutab tabelist osa või kõik andmed vastav alt kasutaja määratud tingimustele. Delete käsk eemaldab tabelist ainult andmekirjed, kuid tabeli struktuur on andmebaasis sama. Drop-käsk on DDL-i (Data Definition Language) avaldus ja see toimib erinev alt käsust Kustuta. See ei ole tingimuslik lause, seega kustutab tabelist terved andmed, samuti eemaldab andmebaasist jäädav alt tabeli struktuuri ja kõik viited sellele tabelile.

Kustuta avaldus

Nagu eespool mainitud, eemaldab käsk Delete tabelist andmed esitatud tingimuse alusel ja selle nõutava tingimuse määramiseks kasutatakse klauslit Where koos Deletega. Kui klauslit Kus ei ole käsuga Kustuta märgitud, eemaldatakse tabelist kõik tabeliandmed. Kuid toimingu Delete puhul jääb olemasolev tabeli struktuur samaks. Seetõttu ei pea kasutaja tabeli struktuuri määratlema, kui ta soovib tabelit uuesti kasutada. Kuna Delete on DML-käsk, ei kehti see pärast täitmist automaatselt. Seega saab selle eelmise toimingu tagasivõtmiseks tagasi pöörata. Vastasel juhul tuleks muudatuste püsivaks muutmiseks kutsuda sisse avaldus. Kustutamislause täitmisel salvestab see tehingulogi kirje iga rea kustutamise kohta. Seega mõjutab see operatsiooni aeglustumist. Samuti ei eralda see pärast täitmist kasutatavat ruumi.

Järgmine on Delete-lause süntaks.

KUSUTA ALAST

või

KUSUTA KUST

Tühista avaldus

Drop-lause eemaldab andmebaasist mitte ainult kõik tabelikirjed ilma igasuguste tingimusteta, vaid eemaldab andmebaasist jäädav alt ka vastava tabeli tabeli struktuuri, terviklikkuse piirangud, indeksid ja juurdepääsuõigused. Seega ei eksisteeri enam ka teiste tabelite seoseid ja tabeli teave eemaldatakse andmesõnastikust. Seega, kui kasutaja soovib tabelit uuesti kasutada, 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 käsk Drop kasutab automaatset sidumist. Seetõttu peaks kasutaja selle käsu kasutamisel olema väga ettevaatlik. Drop-lauset ei saa rakendada süsteemitabelites, samuti ei saa seda kasutada tabelite jaoks, millel on võõrvõtmepiirangud.

Drop-käsku saab kasutada mitte ainult SQL-tabelite, vaid ka andmebaaside, vaadete ja tabeliveergude jaoks ning kõik nendesse objektidesse salvestatud andmed lähevad koos objektidega igaveseks kaotsi.

Järgmine on tüüpiline Drop-käsu süntaks.

TÜKKATA TABEL

Mis vahe on kustutamisel ja kukutamisel?

1. Kustuta ja kukutamise käsud eemaldavad tabeliandmed andmebaasist.

2. Kuid käsk Delete teostab tingimusliku kustutamise, samas kui käsk Drop kustutab tabelist terved kirjed.

3. Samuti eemaldab käsk Delete tabelist ainult read ja säilitab tabeli struktuuri samasugusena, samas kui käsk Drop eemaldab kõik tabelis olevad andmed ja tabelistruktuuri, samuti eemaldab see andmebaasist kõik muud viited.

4. Kustuta on DML-i käsk, samas kui Drop on DDL-käsk. Seega saab kustutamistoimingut tagasi pöörata ja seda ei rakendata automaatselt, samas kui toimingut Drop ei saa mingil viisil tagasi pöörata, kuna see on automaatselt sisse antud avaldus.

5. Drop-käsku ei saa kasutada tabelites, millele on viidatud võõrvõtmepiirangutega, kuid selle asemel saab kasutada käsku Kustuta.

6. Drop-käsku tuleks kasutada ettevaatlikult, võrreldes SQL-rakenduste käsku Delete, paremini aru saada.

Soovitan: