Різниця між скороченням та видаленням

Створення та маніпулювання даними складають основу баз даних, і ми називаємо їх відповідно DDL та DML. DDL - це абревіатура для мови визначення даних. Він може або створювати, або змінювати структури даних у базах даних, і вони не можуть бути використані для зміни даних, присутніх у таблицях. Наприклад, у нас є команди, які просто створюють таблицю із зазначеними атрибутами таблиці, але вона ніколи не додає рядків до таблиці. Але DML, мова маніпуляції даними, здатний додавати, видаляти або змінювати дані в таблиці. Як правило, команди DDL стосуються структур таблиці, тоді як команди DML стосуються фактичних даних. Нехай це буде, чому ми просто відхиляємось від теми "Різниця між скороченням та видаленням"? Є причини, по яких ми говорили про DML та DDL. Ви б зрозуміли це в передній дискусії.

Що таке команда Truncate?

Метою команди Truncate є видалення всієї таблиці. Тож, використовуючи команду Truncate, ви втрачаєте всі дані на таблиці, і вам слід бути обережними при їх використанні. Дайте нам знати, як ним користуватися.

Синтаксис усікання:

ТРУНКОВА СТОЛИ таблиця-ім’я;

Тут слід вказати назву таблиці, яку слід видалити в цілому. Це гарантує, що в просторі пам’яті буде якийсь стіл. Ось приклад використання Truncate.

Нижче наводиться таблиця «працівник» і просто перегляньте рядки даних у ній.

emp-id emp-name позначення
1011 рік Джек Діловод
1012 рік Рози Адміністратор
1014 рік Ненсі Фінанси

Тепер давайте випустимо нижченаведену команду на таблиці співробітників.

ТРУНКОВА ТАБЛИЦА працівник;

Ось результат цього синтаксису, і в ньому немає даних.

emp-id emp-name позначення

Що таке команда "Видалити"?

Мета команди Delete - видалити вказані рядки з таблиці. Тут використовується пункт "Де", щоб вказати рядки, які потрібно видалити. Коли ми не вказуємо рядки, команда видалить усі рядки таблиці. Подивіться лише на його синтаксис.

ВІДКЛЮЧИТИ ВІД працівник;

Вищевказаний синтаксис видаляє всі рядки з таблиці "співробітник". Таким чином, отримана таблиця не міститиме даних.

ВІДКЛЮЧИТИ ВІД працівник ДЕ emp-id = 1011;

Це твердження просто видаляє один рядок, ідентифікатор ідентифікатора якого становить 1011. Отже, отримана таблиця буде такою, як нижче.

emp-id emp-name позначення
1012 рік Рози Адміністратор
1014 рік Ненсі Фінанси

Відмінності:

  • Truncate - це DDL; Видалити - це DML: Вище ми обговорювали, як працюють DDL та DML у нашому вище обговоренні. Команда Truncate - це DDL, і вона працює на рівні структури даних. Але Delete - це команда DML, яка працює над даними таблиці. Іншими прикладами для DDL є CREATE та ALTER. Аналогічним чином можна сказати, що такі команди, як SELECT, UPDATE та INSERT, є ідеальними прикладами для DML.
  • Як працює скорочення і видалення: Як тільки ми видаємо команду Truncate, вона просто шукає вказану таблицю. Тоді він повністю видаляє всі дані з пам'яті. Але робоча процедура мало відрізняється у випадку видалення. Тут вихідні дані таблиці копіюються в простір, який називається простір "Відкат" перед тим, як зробити фактичну маніпуляцію з даними. Потім зміни робляться на фактичному просторі даних таблиці. Отже, обидва вони відрізняються за способом роботи.

Обрізати -> видаліть цілі дані з таблиці -> Простір таблиці зараз звільнено.

Видалити -> Скопіюйте вихідні дані таблиці в простір відкоту -> видаліть вказані дані / всю таблицю -> Простір таблиці звільнено, але простір відхилення заповнено.

  • Відкат: Відкат - це як команда Скасувати в наших аксесуарах Microsoft. Він використовується для скасування змін, які ми нещодавно зробили, тобто з останньої збереженої точки. Щоб здійснити операцію, дані слід скопіювати у простір відкоту, перш ніж їх редагувати. Хоча ці спинки відкатів потребують додаткової пам’яті, вони надзвичайно корисні для повернення до оригіналу. Тим більше, коли ти щось редагуєш помилково! Давайте зараз підійдемо до "Скарочення" та "Видалити" стосовно повернення назад. Як ми обговорювали вище, Truncate ніколи не використовує простір відката, і ми не змогли повернутися до початкових даних. Але команда Delete використовує простір відкоту, і ми можемо просто використати "Звернути" або "RollBack" для прийняття або скасування змін відповідно.
  • Тригери: Для тих, хто потребує пояснення про тригери, ось невеличка примітка. Тригери - це заздалегідь заданий набір операцій / операцій, який слід активувати, коли таблиця стикається з певною умовою. Наприклад, ми могли б викликати зміну розміру зарплати, коли досвід працівника з компанією перевищує рік. Ці тригери можуть працювати і на інших таблицях. Наприклад, ми могли б оновити таблицю фінансів, як тільки було здійснено підвищення зарплати для працівника.

Скорочення - це команда DDL, тригер тут не дозволений. Але Видалити - це команда DML, тут дозволені тригери.

  • Що швидше? Як ви здогадалися, команда обрізати буде швидше, ніж команда Видалити. Перший може видалити всі дані, і немає необхідності перевіряти відповідність умовам. Крім того, вихідні дані не копіюються в простір відкату, і це економить багато часу. Ці два фактори змушують Truncate працювати швидше, ніж Видалити.
  • Чи можемо ми використати пункт WHERE? Стаття "Де" використовується для вказівки певних умов узгодження і не має нічого спільного з усіченим. Оскільки Truncate ніколи не шукає жодних умов узгодження, і він просто видаляє всі рядки, ми не можемо використати тут пункт "Where". Але ми завжди могли вказувати умову за допомогою пункту «де» в команді «Видалити».
  • Яка займає більше місця? Урізаний не збирається використовувати простір відкату, і це економить цю пам'ять. Але для видалення потрібна резервна копія у вигляді простору відкоту, а значить, для цього потрібно більше місця в пам'яті, ніж усікання.

Отже, це відмінності, і ми розглянемо їх у таблиці.

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 працювати швидше, ніж Видалити.

Він використовує простір відкату, і завжди на ньому потрібно зберігати оригінальні дані. Це додатковий тягар і, в свою чергу, займає багато часу, ніж «Укорочений».
6. Чи можемо ми використати пункт WHERE? Оскільки Truncate ніколи не шукає жодних умов узгодження, і він просто видаляє всі рядки, ми не могли використати тут пункт «Де». Але ми завжди могли вказувати умову за допомогою пункту «де» в команді «Видалити».
7. Яка займає більше місця? Урізаний не збирається використовувати простір відкату, і це економить цю пам'ять. Для цього потрібна резервна копія у вигляді простору відкату, а значить, для цього потрібно більше місця в пам'яті, ніж укорочений.

Знання відмінностей між будь-якими двома сутностями розширює знання про обидві! Ви приземлилися на правильний шлях, тобто веб-сторінку, щоб зрозуміти відмінності, особливо, між командами скорочення та видалення. Сподіваємось, вам зараз зрозуміли його відмінності та повідомте нам, чи допомогли ми вам це зрозуміти. Ви також можете допомогти нам вказати, що залишилося!