| Команда TRUNCATE в MySQL використовується для швидкого видалення всіх рядків з таблиці. Вона є подібною до команди DELETE, але має кілька важливих відмінностей | |
| Швидкість | • TRUNCATE виконується значно швидше, ніж DELETE, оскільки не генерує окремі записи для кожного видаленого рядка і не ініціює тригери (як це робить DELETE). |
| Не можна видалити вибіркові рядки | • TRUNCATE не дозволяє видаляти окремі рядки на основі умови, на відміну від DELETE, яке можна використовувати з умовами WHERE. |
| Скидає лічильники автоінкременту | • В більшості випадків, коли ви використовуєте TRUNCATE, лічильник автоінкременту для стовпця, який має властивість AUTO_INCREMENT, буде скинутий до початкового значення. |
Приклад:
-- Створення бази даних
CREATE DATABASE IF NOT EXISTS truncate_practice;
USE truncate_practice;
-- Створення таблиці
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
-- Наповнення таблиці даними
INSERT INTO users (name, email) VALUES
('Olga', 'olga@example.com'),
('Maria', 'maria@example.com'),
('Veronika', 'veronika@example.com');
-- Використання команди TRUNCATE
TRUNCATE TABLE users;
-- Перевіримо таблицю після очищення
SELECT * FROM users;
-- Ще раз внесемо дані в таблицю
INSERT INTO users (name, email) VALUES
('Olga', 'olga@example.com'),
('Maria', 'maria@example.com'),
('Petro', 'petro@example.com'),
('Sofia', 'sofia@example.com'),
('Olena', 'olena@example.com');
SELECT * FROM users;
Для додаткової візуалізації є відео.