Купить Корзина
  • Домены и сайты
  • Облако и IT-инфраструктура
  • Вход
  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Хостинг
    3. Базы данных
    4. Как очистить таблицу в MySQL

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

    В статье мы расскажем, как в MySQL очистить таблицу. Мы покажем два способа и объясним разницу между ними.

    Очистить таблицу можно при помощи одной из команд:

    • TRUNCATE,
    • DELETE.

    Разница между TRUNCATE и DELETE

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

    Пример команды TRUNCATE

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

    Пример команды DELETE

    Сравним работу команд:

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

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

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

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

    Таким образом, операторы DDL управляют структурой, а операторы DML — её содержимым.

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

    Подключитесь к серверу по SSH. Затем подключитесь к MySQL при помощи команды:

    mysql -u username -p’password’

    Вместо username введите имя пользователя, вместо password — пароль.

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

    mysql

    Если подключение без пароля не настроено, возникнет ошибка:

    Ошибка при подключении к серверу MySQL

    В этом случае сбросьте пароль от root-пользователя MySQL по инструкции.

    TRUNCATE

    TRUNCATE полностью очищает таблицу без возможности указать дополнительные условия. Для этого:

    • 1

      Выберите базу данных, в которой находится таблица, которую вы хотите очистить:

      USE db_name;

      Вместо db_name введите имя базы данных.

    • 2

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

      TRUNCATE table_name;

      TRUNCATE позволяет указать название БД и название таблицы в одном запросе. Для этого используйте команду:

      TRUNCATE db_name.table_name;

      Вместо db_name введите имя базы данных, а вместо table_name введите имя таблицы.

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

    DELETE

    • 1

      Выберите базу данных, в которой находится таблица, которую вы хотите очистить:

      USE db_name;

      Вместо db_name введите имя базы данных.

    • 2

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

      DELETE FROM table_name;

      Вы можете указать название БД и таблицы в одном запросе:

      DELETE FROM db_name.table_name;

      Вместо db_name введите имя базы данных, а вместо table_name введите имя таблицы.

    Готово, вы очистили таблицу при помощи DELETE.

    Совет

    DELETE позволяет использовать условие WHERE, чтобы удалить некоторые строки из таблицы:

    DELETE FROM table_name WHERE condition;

    Где condition — это условие.

    Пример команды, в котором будут удалены все строки, значение столбца, id которых больше 1000:

    DELETE FROM table_name WHERE id > 1000;

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

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

    SELECT * FROM db_name.table_name;

    Вместо db_name введите имя базы данных, а вместо table_name введите имя таблицы.

    Если таблица пустая, вывод будет следующим:

    Проверка содержимого таблицы MySQL при помощи SELECT FROM

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Бесплатный хостинг для сайта
    • Дешевый хостинг
    • Бесплатный VPS-сервер
    • Дешёвые VPS
    Рассылка Рег.ру

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Домены и сайты
    • Домены
    • Хостинг
    • Создание сайтов
    • SSL-сертификаты
    • VPS и VDS серверы
    • Whois
    • Магазин доменов
    Облако
    и IT-инфраструктура
    • Облачные серверы
    • Частное облако
    • Облачное хранилище
    • Kubernetes в облаке (K8S)
    • Облачные базы данных
    • Выделенные серверы
    Полезное
    • Стоимость услуг
    • Cпособы оплаты
    • База знаний
    • Документы
    • ЭДО
    • Партнерам
    • Сообщить о нарушении
    • РБК: новости России и мира сегодня
    • Новости компаний РФ
    • РБК Инвестиции: курсы валют
    Компания
    • О компании
    • Контакты
    • Офисы
    • Новости
    • Акции и скидки
    • Блог
    • Отзывы клиентов
    8 800 555-34-78 Бесплатный звонок по России
    +7 495 580-11-11 Телефон в Москве
    • vk
    • telegram
    • ok
    • moikrug
    • youtube
    • twitter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
    • © ООО «РЕГ.РУ»
    • Политика конфиденциальности
      Политика обработки персональных данных
      Правила применения рекомендательных технологий
      Правила пользования
      и другие правила и политики
    • Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера