Как очистить таблицу в 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 укажите название БД.
Далее выберите инструкцию, подходящую для вашего случая.
4. Очистите таблицу:
TRUNCATE table_name;
Вместо table_name укажите название таблицы.
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)
Готово, вы убедились, что таблица пуста.