ВИДАЛИТИ — це команда DML (мова обробки даних), яка використовується, коли ми вказуємо рядок (кортеж), який ми хочемо вилучити або видалити з таблиці чи зв’язку. Команда DELETE може містити пропозицію WHERE. Якщо речення WHERE використовується з командою DELETE, воно видаляє або видаляє лише ті рядки (кортежі), які задовольняють умову; інакше за замовчуванням він видаляє всі кортежі (рядки) з таблиці. Пам’ятайте, що DELETE реєструє видалення рядків.
Синтаксис:
DELETE FROM TableName
умова ДЕ;
java math.min
ВСИЧАТИ це команда DDL (мова визначення даних), яка використовується для видалення всіх рядків або кортежів із таблиці. На відміну від команди DELETE, команда TRUNCATE не містить a речення WHERE . У команді TRUNCATE журнал транзакцій для кожної видаленої сторінки даних не записується. На відміну від команди DELETE, команда TRUNCATE є швидкою. Ми не можемо відкотити дані після використання команди TRUNCATE.
Синтаксис:
TRUNCATE TABLE TableName;
Давайте зрозуміємо це, взявши простий приклад, у якому ми створимо одну фіктивну таблицю, а потім виконаємо операцію видалення.
Запит:
CREATE table Employee ( Emp_id int, name VARCHAR(20), country VARCHAR(20), Salary INT); --insert the data in the Employee Table INSERT INTO Employee (Emp_id, name, country, Salary) values (101, 'Mohit', 'India', 60000), (103, 'Anish', 'England', 70000), (104, 'Shubham', 'France', 100000), (102, 'Danish', 'Sweden', 40000), (105, 'Vivek', 'Wales', 50000), (106, 'Rohan', 'Scotland', 30000); Select * from Employee ;>
Вихід

Таблиця співробітників
Приклад команди видалення:
Тепер ви повинні створити запит, щоб видалити останній запис зі значенням 106 для Emp_id.
Запит:
Delete from Employee where Emp_id = 106;>
Вихід

вихід
Приклад команди TRUNCATE
Щоб повністю видалити всі записи зі столу гравців у цьому випадку, скористайтеся командою truncate.
Запит:
TRUNCATE TABLE Employee;>
Відмінності між DELETE і TRUNCATE
| Видалити | Обрізати |
|---|---|
| Команда DELETE використовується для видалення вказаних рядків (одного або кількох). | Хоча ця команда використовується для видалення всіх рядків із таблиці. |
| Це DML (мова обробки даних) команда. | Хоча це а DDL (мова визначення даних) команда. |
| У команді DELETE може бути пропозиція WHERE для фільтрації записів. | Хоча в команді TRUNCATE може не бути пропозиції WHERE. |
| У команді DELETE кортеж блокується перед його видаленням. | Під час виконання цієї команди сторінка даних блокується перед видаленням даних таблиці. |
| Інструкція DELETE видаляє рядки по одному та записує запис у журнал транзакцій для кожного видаленого рядка. | TRUNCATE TABLE видаляє дані, звільняючи сторінки даних, які використовуються для зберігання даних таблиці, і записує лише звільнення сторінок у журнал транзакцій. |
| Команда DELETE повільніша за команду TRUNCATE. | Хоча команда TRUNCATE швидша за команду DELETE. |
| Щоб використовувати Delete, вам потрібен дозвіл DELETE для таблиці. | Щоб використовувати Truncate на таблиці, нам потрібно принаймні ЗМІНИТИ дозвіл на стіл. |
| Ідентифікація меншого стовпця зберігає ідентичність після використання оператора DELETE у таблиці. | Identity стовпець скидається до початкового значення, якщо таблиця містить стовпець ідентифікатора. |
| Видалення можна використовувати з індексованими видами. | Truncate не можна використовувати з індексованими представленнями. |
| Ця команда також може активувати тригер. | Ця команда не активує тригер. |
| Оператор DELETE займає більше простору для транзакцій, ніж Truncate. | Інструкція Truncate займає менше простору для транзакцій, ніж DELETE. |
| Операції видалення можна ВІДКОТИТИ. | TRUNCATE не можна відкотити, оскільки він викликає неявну фіксацію. |
| Видалення не ВИДАЛЯЄ всю таблицю. Він отримує блокування таблиці та починає видаляти рядки. | TRUNCATE спочатку видаляє таблицю, а потім створює її заново, що швидше, ніж видалення окремих рядків. |
Висновок
У цій статті SQL розробники можуть належним чином видалити рядки, правильно використовуючи команди DELETE і TRUNCATE. Команду TRUNCATE слід використовувати з обережністю, оскільки вона видаляє всі записи таблиці. Початківцям також стане в нагоді пояснення в цьому підручнику відмінностей між командами Delete і Truncate.
ВИДАЛИТИ:
- Ви хочете видалити з таблиці всіх співробітників, які нічого не купували протягом останніх шести місяців.
- Ви хочете видалити працівника зі столу.
УКОРИТИ:
- Ви хочете відновити вміст таблиці до початкового стану.
- Вам не потрібно мати можливість відновити дані; ви просто хочете взагалі видалити його зі столу.