Створення та маніпулювання даними складають основу баз даних, і ми називаємо їх відповідно DDL та DML. DDL - це абревіатура для мови визначення даних. Він може або створювати, або змінювати структури даних у базах даних, і вони не можуть бути використані для зміни даних, присутніх у таблицях. Наприклад, у нас є команди, які просто створюють таблицю із зазначеними атрибутами таблиці, але вона ніколи не додає рядків до таблиці. Але DML, мова маніпуляції даними, здатний додавати, видаляти або змінювати дані в таблиці. Як правило, команди DDL стосуються структур таблиці, тоді як команди DML стосуються фактичних даних. Нехай це буде, чому ми просто відхиляємось від теми "Різниця між скороченням та видаленням"? Є причини, по яких ми говорили про DML та DDL. Ви б зрозуміли це в передній дискусії.
Метою команди 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 рік | Ненсі | Фінанси |
Обрізати -> видаліть цілі дані з таблиці -> Простір таблиці зараз звільнено.
Видалити -> Скопіюйте вихідні дані таблиці в простір відкоту -> видаліть вказані дані / всю таблицю -> Простір таблиці звільнено, але простір відхилення заповнено.
Скорочення - це команда 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 працювати швидше, ніж Видалити.
| Він використовує простір відкату, і завжди на ньому потрібно зберігати оригінальні дані. Це додатковий тягар і, в свою чергу, займає багато часу, ніж «Укорочений». |
6. | Чи можемо ми використати пункт WHERE? | Оскільки Truncate ніколи не шукає жодних умов узгодження, і він просто видаляє всі рядки, ми не могли використати тут пункт «Де». | Але ми завжди могли вказувати умову за допомогою пункту «де» в команді «Видалити». |
7. | Яка займає більше місця? | Урізаний не збирається використовувати простір відкату, і це економить цю пам'ять. | Для цього потрібна резервна копія у вигляді простору відкату, а значить, для цього потрібно більше місця в пам'яті, ніж укорочений. |
Знання відмінностей між будь-якими двома сутностями розширює знання про обидві! Ви приземлилися на правильний шлях, тобто веб-сторінку, щоб зрозуміти відмінності, особливо, між командами скорочення та видалення. Сподіваємось, вам зараз зрозуміли його відмінності та повідомте нам, чи допомогли ми вам це зрозуміти. Ви також можете допомогти нам вказати, що залишилося!