Команда TRUNCATE

Команда 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;

Для додаткової візуалізації є відео.

Leave a Reply

Your email address will not be published. Required fields are marked *