Създаването и манипулирането на данни са в основата на базите данни и ние ги наричаме съответно 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 | хомосексуалист | Финанси |
пресечен -> премахнете цели данни от таблицата -> Пространството на таблицата се освобождава сега.
Изтрий -> Копирайте оригиналните данни на таблицата в пространството за връщане назад -> изтрийте посочените данни / цялата таблица -> Пространството на таблицата е освободено, но пространството за връщане назад е запълнено.
Отрязването е DDL команда, спусъкът тук не е разрешен. Но изтриването е команда DML, тук са разрешени задействания.
Това са разликите и нека разгледаме в табличен вид.
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. | Което заема повече място? | Отсечката няма да използва пространството за връщане и спестява тази памет. | Тя се нуждае от резервно копие под формата на отменено пространство и следователно изисква повече пространство в паметта от съкращаването. |
Познаването на разликите между всяка две субекти разширява знанията и за двете! Кацали сте на правилен път, т.е. уеб страницата, за да разберете разликите, особено между командите за съкращаване и изтриване. Надявам се сега да сте наясно с различията му и да ни уведомите дали бяхме ви помогнали да го разберете. Можете също така да ни помогнете да посочим какво е останало!