Как очистить таблицу в 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)
Готово, вы убедились, что таблица пуста.