Разлика между съкращаване и изтриване

Създаването и манипулирането на данни са в основата на базите данни и ние ги наричаме съответно DDL и DML. DDL е съкращение за езика за дефиниране на данни. Той може или да създава или променя структурите от данни в базите данни и те не могат да бъдат използвани за промяна на данните, налични в таблиците. Например, имаме команди, които просто създават таблица с посочените атрибути на таблицата, но тя никога не добавя редове в таблицата. Но DML, Езикът за управление на данни, е в състояние да добавя, изтрива или променя данни в таблиците. Като общо правило, командите DDL се справят със структурите на таблицата, докато командите DML се справят с действителните данни. Нека бъде, защо просто се отклоняваме от темата „Разлика между съкращаването и изтриването“? Има причини, по които говорихме за DML и DDL. Ще го разберете в предстоящата дискусия.

Какво е команда за съкращение?

Целта на командата Truncate е да изтрие цялата таблица. Така че, когато използвате команда Truncate, ще загубите всички данни на таблицата и трябва да сте предпазливи при използването им. Кажете ни как да го използваме.

Синтаксисът на Truncate:

ТРУНЦАТА ТАБЛИЦА маса име;

Тук трябва да посочите името на таблицата, която трябва да бъде изтрита като цяло. Това гарантира, че в пространството на паметта ще има всяка маса. Ето пример за използване на Truncate.

По-долу е таблицата „служител“ и просто погледнете редовете данни в нея.

EMP-ID EMP-име обозначаване
1011 крик Чиновник
1012 розов Admin
1014 хомосексуалист Финанси

Сега, нека да издадем по-долу командата на таблицата на служителите.

ТРУНЦАТА ТАБЛИЦА работниците и служителите;

Ето резултата от горния синтаксис и няма данни в него.

EMP-ID EMP-име обозначаване

Какво е команда за изтриване?

Целта на командата Delete е да премахне посочените редове от таблицата. Тук клаузата „Къде“ се използва тук, за да посочи редовете, които трябва да бъдат изтрити. Когато не посочим редовете, командата ще изтрие всички редове в таблицата. Просто погледнете синтаксиса на него.

ИЗЛИЗАЙТЕ ОТ работниците и служителите;

Горният синтаксис изтрива всички редове от таблицата „служител“. Така получената таблица не съдържа данни.

ИЗЛИЗАЙТЕ ОТ служител КЪДЕТО emp-id = 1011;

Това изтриване просто изтрива един ред, чийто идентификационен номер е 1011. Така получената таблица ще бъде както по-долу.

EMP-ID EMP-име обозначаване
1012 розов Admin
1014 хомосексуалист Финанси

разлики:

  • Truncate е DDL; Изтриването е DML: По-горе сме обсъдили как работят DDL и DML. Командата Truncate е DDL и работи на ниво структура на данни. Но Delete е DML команда и тя работи върху данните на таблицата. Други примери за DDL са CREATE и ALTER. По подобен начин бихме могли да кажем, че командите като SELECT, UPDATE и INSERT са перфектни примери за DML.
  • Как работи отрязването и изтриването: Веднага след като издадем командата Truncate, тя просто търси посочената таблица. След това напълно премахва всички данни от паметта. Но процедурата на работа е малко по-различна в случай на Delete. Тук оригиналните данни на таблицата се копират в пространството, наречено пространството „Върни се назад“, преди да се извърши действителната манипулация на данните. Тогава промените се правят на действителното пространство за данни на таблицата. Така че и двамата се различават по начина на работа.

пресечен -> премахнете цели данни от таблицата -> Пространството на таблицата се освобождава сега.

Изтрий -> Копирайте оригиналните данни на таблицата в пространството за връщане назад -> изтрийте посочените данни / цялата таблица -> Пространството на таблицата е освободено, но пространството за връщане назад е запълнено.

  • Върнете се назад: Връщане назад е като команда за отмяна в нашите аксесоари на Microsoft. Използва се за анулиране на промените, които направихме наскоро, т.е. от последната запаметена точка. За да извършите операцията, данните трябва да бъдат копирани в пространството за връщане назад, преди да бъдат редактирани. Въпреки че тези задни ролки изискват допълнителна памет, те са изключително полезни за връщане към оригинала. Особено, когато някои редактиране по грешка! Нека сега дойдем до „Отсече“ и „Изтрий“ по отношение на връщането назад. Както обсъждахме по-горе, Truncate никога не използва място за връщане назад и не можахме да се върнем към оригиналните данни. Но командата Delete използва пространство за връщане назад и можем просто или да използваме „ангажиране“ или „RollBack“, за да приемем или отменим промените съответно.
  • тригери: За тези, които се нуждаят от обяснение относно задействанията, ето малко забележка. Тригерите са предварително определен набор от операции / операции, които трябва да се активират, когато таблицата срещне определено състояние. Например, бихме могли да предизвикаме промяна на размера на заплатата, когато опитът на служителя с компанията е повече от година. Тези задействания могат да работят и на други маси. Например, бихме могли да актуализираме таблицата за финансиране веднага щом се направи увеличение на заплатата за служител.

Отрязването е DDL команда, спусъкът тук не е разрешен. Но изтриването е команда DML, тук са разрешени задействания.

  • Което е по-бързо? Както се досещате, командата Truncate ще бъде по-бърза от командата Delete. Първият би могъл да премахне всички данни и няма нужда да проверява за каквито и да е съвпадения условия. Също така, оригиналните данни не се копират в пространството за връщане и това спестява много време. Тези два фактора карат Truncate да работи по-бързо от Delete.
  • Можем ли да използваме клаузата WHERE? Клаузата „Къде“ се използва за уточняване на определени условия на съвпадение и няма нищо общо с отрязания. Тъй като Truncate никога не търси никакви условия на съвпадение и просто премахва всички редове, тук не бихме могли да използваме клауза „Къде“. Но винаги можем да определим условието с помощта на клаузата "където" в командата Delete.
  • Което заема повече място? Отсечката няма да използва пространството за връщане и спестява тази памет. Но изтриването се нуждае от резервно копие под формата на отстъпление и следователно изисква повече пространство в паметта от съкращаването.

Това са разликите и нека разгледаме в табличен вид.

S.No Разлики в пресечен Изтрий
1. DDL или DML? Това е DDL и работи на ниво структура на данни. Други примери за DDL са CREATE и ALTER. Това е DML команда и работи върху данните на таблицата. DML означава Език за манипулиране на данни. Командите като SELECT, UPDATE и INSERT са перфектни примери за DML. DML означава Език за манипулиране на данни.

2. Как работи? Веднага след като издадем командата Truncate, тя просто търси посочената таблица. След това напълно премахва всички данни от паметта. Тук оригиналните данни на таблицата се копират в пространството, наречено пространството „Върни се назад“, преди да се извърши действителната манипулация на данните. Тогава промените се правят на действителното пространство за данни на таблицата.
3. RollBack Командата Truncate никога не използва място за връщане назад и не можахме да се върнем към оригиналните данни. Пространството за връщане е изключително и се заема, когато се издават DML командите. Командата Delete използва пространство за връщане и можем просто или да използваме „ангажиране“ или „RollBack“, за да приемем или отменим промените съответно.

4. тригери Прекъсването е DDL команда, задействанията не са позволени. Изтриването е DML команда, тук са разрешени задействания.

5. Което е по-бързо? Той може да премахне всички данни и няма нужда да проверявате за каквито и да е съвпадения условия. Също така, оригиналните данни не се копират в пространството за връщане и това спестява много време. Тези два фактора карат Truncate да работи по-бързо от Delete.

Той използва място за връщане и винаги оригиналните данни трябва да се запазват върху него. Това е допълнителна тежест и от своя страна отнема много време, отколкото на Трънка.
6. Можем ли да използваме клаузата WHERE? Тъй като Truncate никога не търси никакви съвпадащи условия и просто премахва всички редове, тук не бихме могли да използваме клауза „Къде“. Но винаги можем да определим условието с помощта на клаузата "където" в командата Delete.
7. Което заема повече място? Отсечката няма да използва пространството за връщане и спестява тази памет. Тя се нуждае от резервно копие под формата на отменено пространство и следователно изисква повече пространство в паметта от съкращаването.

Познаването на разликите между всяка две субекти разширява знанията и за двете! Кацали сте на правилен път, т.е. уеб страницата, за да разберете разликите, особено между командите за съкращаване и изтриване. Надявам се сега да сте наясно с различията му и да ни уведомите дали бяхме ви помогнали да го разберете. Можете също така да ни помогнете да посочим какво е останало!