На этом этапе вам может потребоваться очистить таблицу и все хранящиеся в ней данные, сохранив структуру таблицы. В таком сценарии предложение усечения MySQL является очень эффективным запросом.
В этой статье показано, как использовать оператор TRUNCATE в MySQL для удаления всех данных в таблице базы данных.
Оператор TRUNCATE является частью операторов языка определения данных. Однако его функции аналогичны оператору DELETE, что делает его частью языка манипулирования данными.
Чтобы использовать оператор TRUNCATE, у вас должны быть привилегии DROP в базе данных.
Особенности Truncate
Ниже приведены некоторые характерные особенности оператора TRUNCATE, которые отличают его от оператора DELETE:
- Операцию усечения нельзя откатить, поскольку она выполняет неявную фиксацию.
- Он работает, удаляя таблицу и воссоздавая ее, сохраняя ее структуру, но не данные.
- Truncate поддерживает поврежденные таблицы, удаляя все данные и восстанавливая пустую таблицу.
- Он не вызывает никаких триггеров удаления.
- Сохраняет разбиение таблицы
- Оператор TRUNCATE не возвращает никакой информации о затронутых строках — это означает, что возвращаемое значение равно 0.
Основное использование
Общий синтаксис использования оператора TRUNCATE:
TRUNCATE TABLE tbl_name;
Пример использования
Давайте посмотрим на пример использования оператора TRUNCATE.
В этом примере мы будем использовать таблицу сотрудников, представленную в ресурсе ниже:
https://dev.mysql.com/doc/index-other.html
Сначала выберите несколько значений из таблицы, чтобы убедиться, что она не пуста:
SELECT * FROM employees LIMIT 10;
Теперь, когда мы подтвердили, что таблица заполнена данными, давайте попробуем усечь таблицу следующим образом:
SET FOREIGN_KEY_CHECKS = FALSE; TRUNCATE TABLE employees;
Сначала мы устанавливаем для переменной FOREIGN_KEY_CHECK значение False, потому что оператор TRUNCATE не работает, если таблица содержит ограничения из других таблиц.
После того, как мы удалили возможность проверки ограничений из других таблиц, мы вызываем оператор TRUNCATE для удаления данных.
Вы можете подтвердить, щелкнув выбрать:
SELECT * FROM employees;
Заключение
В этой статье вы узнали, как использовать оператор TRUNCATE в MySQL для удаления данных из таблицы. Надеемся, этот урок был вам полезен.