Как усечь таблицу в 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 не работает, если таблица содержит ограничения из других таблиц.

Читайте также:  Агрегатные функции в SQLite

После того, как мы удалили возможность проверки ограничений из других таблиц, мы вызываем оператор TRUNCATE для удаления данных.

Вы можете подтвердить, щелкнув выбрать:

SELECT * FROM employees;

Вы можете подтвердить, щелкнув выбрать

ВНИМАНИЕ ! Не удаляйте проверку ограничений в таблицах реальной базы данных.

Заключение

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

Оцените статью
bestprogrammer.ru
Добавить комментарий