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

В статье мы расскажем об операторах действий с таблицами и о том, как очистить таблицу MySQL.

В чем отличие TRUNCATE от DELETE

TRUNCATE — это оператор DDL (Data Definition Language) — языка определения данных. TRUNCATE позволяет работать с объектами баз данных: создавать, удалять или переименовывать.

DELETE — это оператор DML (Data Manipulation Language) — языка манипуляции данными. Операторы DML помогают добавлять, изменять, удалять, извлекать и обновлять информацию в базе данных.

Языки DDL и DML имеют отличия: DDL регулирует структуру таблицы, а DML — ее содержимое. Эти языки включают в себя другие операторы.

DDL DML
CREATE SELECT
RENAME INSERT
ALTER DELETE
TRUNCATE CALL
DROP MERGE
TRUNCATE EXPLAIN PLAN
  LOCK TABLE
  UPDATE

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

TRUNCATE DELETE
Нельзя прописать дополнительные условия. Поэтому данные из таблицы удаляются полностью Удаляет данные частично, если прописано условие WHERE
Удаляет все строки на странице за одно действие Удаляет данные построчно
Записывает информацию в журнал транзакций об удаленной странице целиком Записывает информацию о каждой удаленной строке в журнал транзакций
Для исполнения требует привилегии ALTER Для исполнения требует привилегии DELETE
Блокирует таблицу и страницу перед удалением Блокирует строку перед удалением
Сбрасывает идентификаторы Не сбрасывает идентификаторы

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

1. Подключитесь к серверу по SSH.

2. Перейдите в консоль MySQL. Для этого выполните команду:

mysql -u username -p’password’

   Где:

  • username — имя пользователя БД,
  • password — пароль пользователя БД.

3. Выберите базу данных, которую хотите очистить:

USE db_name;

   Вместо db_name укажите название БД.

Далее выберите инструкцию, подходящую для вашего случая.

 
TRUNCATE

4. Очистите таблицу:

TRUNCATE table_name;

   Вместо table_name укажите название таблицы.

 
DELETE

4. Очистите таблицу полностью с помощью команды:

DELETE FROM table_name;

   Вместо table_name укажите название таблицы.

   Если вы хотите выборочно удалить строки, используйте команду:

DELETE FROM table_name WHERE id > 1000;

   Где:

  • table_name — название таблицы,
  • id > 1000 — условие.

Готово, вы очистили таблицу.

Как проверить содержимое таблицы

1. Подключитесь к серверу по SSH.

2. Перейдите в консоль MySQL:

mysql -u username -p’password’

   Где:

  • username — имя пользователя БД,
  • password — пароль пользователя БД.

3. Выполните команду:

SELECT * FROM db_name.table_name;

   Где:

  • db_name — название базы данных,
  • table_name — название таблицы.

   Если таблица пуста, на экране отобразится вывод:

Empty set (0.00 sec)

Готово, вы убедились, что таблица пуста.

Если вы не нашли ответ, спросите у нас!
Написать в поддержку