Как усечь таблицу в MySQL

Как усечь таблицу в MySQL База данных

На этом этапе вам может потребоваться очистить таблицу и все хранящиеся в ней данные, сохранив структуру таблицы. В таком сценарии предложение усечения MySQL является очень эффективным запросом.

В этом руководстве показано, как использовать операторы MySQL TRUNCATE для удаления всех данных в таблице базы данных.

Оператор MySQL TRUNCATE является частью операторов языка определения данных. Однако его функции аналогичны оператору DELETE, что делает его частью языка манипулирования данными.

Чтобы использовать оператор TRUNCATE, у вас должны быть привилегии DROP в базе данных.

Особенности Truncate

Ниже приведены некоторые характерные особенности оператора TRUNCATE, которые отличают его от оператора DELETE:

  1. Операцию усечения нельзя откатить, поскольку она выполняет неявную фиксацию.
  2. Он работает, удаляя таблицу и воссоздавая ее, сохраняя ее структуру, но не данные.
  3. Truncate поддерживает поврежденные таблицы, удаляя все данные и восстанавливая пустую таблицу.
  4. Он не вызывает никаких триггеров удаления.
  5. Сохраняет разделение таблицы
  6. Оператор TRUNCATE не возвращает никакой информации о затронутых строках — это означает, что возвращаемое значение равно 0.

Основное использование

Общий синтаксис использования оператора TRUNCATE:

TRUNCATE TABLE tbl_name;

ПРИМЕЧАНИЕ. Вы можете пропустить ключевое слово TABLE, и оператор TRUNCATE будет работать аналогично. Однако лучше добавить ключевое слово TABLE, чтобы избежать путаницы с функцией Truncate.

Пример использования

Давайте посмотрим на пример использования оператора 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 для удаления данных из таблицы. Надеюсь, этот урок был вам полезен.

Читайте также:  Использование режима безопасного обновления MySQL
Оцените статью
bestprogrammer.ru
Добавить комментарий