Skirtumas tarp ištrynimo ir išmetimo

Skirtumas tarp ištrynimo ir išmetimo
Skirtumas tarp ištrynimo ir išmetimo

Video: Skirtumas tarp ištrynimo ir išmetimo

Video: Skirtumas tarp ištrynimo ir išmetimo
Video: 30 stupid questions for BA [Career in IT] 2024, Lapkritis
Anonim

Ištrinti prieš išmetimą

Ir Delete, ir Drop komandos priklauso SQL (struktūrinės užklausos kalba) sakiniams ir naudojamos pašalinant duomenis iš duomenų bazės. Ištrinti yra DML (duomenų manipuliavimo kalbos) komanda. Ji ištrina kai kuriuos arba visus lentelės duomenis pagal vartotojo nurodytą sąlygą. Teiginys Delete pašalina tik duomenų įrašus iš lentelės, tačiau lentelės struktūra duomenų bazėje yra tokia pati. Drop komanda yra DDL (duomenų apibrėžimo kalba) sakinys ir veikia kitaip nei komanda Naikinti. Tai nėra sąlyginis teiginys, todėl iš lentelės ištrinami visi duomenys, taip pat visam laikui iš duomenų bazės pašalinama lentelės struktūra ir visos nuorodos į tą lentelę.

Ištrinti pareiškimą

Kaip minėta pirmiau, sakinys Delete pašalina duomenis iš lentelės pagal pateiktą sąlygą, o sąlyga Where naudojama kartu su Delete šiai būtinai sąlygai nurodyti. Jei sąlyga Kur nėra nurodyta su Delete, visi lentelės duomenys pašalinami iš lentelės. Tačiau atliekant Naikinimo operaciją esama lentelės struktūra išlieka ta pati. Todėl vartotojui nereikia apibrėžti lentelės struktūros, jei jis nori pakartotinai naudoti lentelę. Kadangi „Delete“yra DML komanda, ji neįsipareigoja automatiškai po vykdymo. Taigi, norint anuliuoti ankstesnę operaciją, ją galima atšaukti. Priešingu atveju, kad pakeitimai būtų nuolatiniai, turėtų būti iškviestas įsipareigojimas. Vykdydamas ištrynimo teiginį, jis įrašo kiekvienos eilutės ištrynimo įrašą operacijų žurnale. Taigi, tai turi įtakos operacijos sulėtėjimui. Be to, ji neskiria vietos, kuri naudojama po vykdymo.

Toliau pateikiama Delete teiginio sintaksė.

IŠTRINTI IŠ

arba

IŠTRINTI IŠ KUR

Atmeskite pareiškimą

Drop sakinys pašalina ne tik visus lentelės įrašus iš duomenų bazės be jokių sąlygų, bet ir visam laikui iš duomenų bazės pašalina lentelės struktūrą, vientisumo apribojimus, indeksus ir atitinkamos lentelės prieigos teises. Taigi, visi ryšiai kitoms lentelėms taip pat nebeegzistuoja, o informacija apie lentelę pašalinama iš duomenų žodyno. Taigi, jei vartotojas nori pakartotinai naudoti lentelę, jis/ji turi dar kartą apibrėžti lentelės struktūrą ir visas kitas nuorodas į lentelę. Drop yra DDL komanda ir įvykdžius komandą jos nebegalima atšaukti, nes komanda Drop naudoja automatinį įsipareigojimą. Todėl vartotojas turėtų būti labai atsargus naudodamas šią komandą. Drop sakinys negali būti taikomas sistemos lentelėms, taip pat jis negali būti naudojamas lentelėms, kuriose yra išorinio rakto apribojimų.

Komanda „Drop“gali būti naudojama ne tik SQL lentelėms, bet ir duomenų bazėms, rodiniams ir lentelių stulpeliams, o visi šiuose objektuose saugomi duomenys prarandami amžiams kartu su objektais.

Toliau pateikiama tipinė komandos Drop sintaksė.

NUMESTI LENTELĮ

Kuo skiriasi ištrynimas ir išmetimas?

1. Komandos Delete and Drop pašalina lentelės duomenis iš duomenų bazės.

2. Tačiau sakinys „Delete“atlieka sąlyginį ištrynimą, o komanda „Drop“ištrina visus lentelės įrašus.

3. Be to, teiginys Delete pašalina tik lentelės eilutes ir išsaugo lentelės struktūrą, o komanda Drop pašalina visus lentelės duomenis ir lentelės struktūrą, taip pat pašalina visas kitas nuorodas iš duomenų bazės.

4. Ištrinti yra DML sakinys, o Drop yra DDL komanda. Taigi, ištrynimo operaciją galima atšaukti ir ji nėra automatiškai įpareigota, o operacijos „Drop“negalima atšaukti jokiu būdu, nes tai yra automatiškai patvirtintas pareiškimas.

5. „Drop“komandos negalima naudoti lentelėse, kurios buvo nurodytos pagal išorinio rakto apribojimus, o vietoj jos galima naudoti komandą „Delete“.

6. „Drop“komanda turėtų būti naudojama atsargiai ir gerai suprantama, palyginti su teiginiu „Delete“SQL programose.

Rekomenduojamas: