О web-разработке
и даже немного больше...

Как изменить тип таблиц в MySQL?

Всем привет! В этом посту мы поговорим о том, как можно изменить тип таблиц в базе данных MySQL. Но перед этим немного информации.

Естественный ход развития интернет-ресурсов пришел к тому, что для хранения разного рода информации используемой на сайте стали использоваться базы данных. Разновидностей баз данных на самом деле целое множество. И одной из популярных и часто-используемых баз данных для веб-сайтов является СУБД MySQL. MySQL является свободной системой, доступной каждому желающему. В этом роде это так же положительно повлияло на популяризацию и развитие этой системы по всей планете.

MySQL поддерживает разные типы таблиц. Каждый из типов таблиц имеют свои особенности, и могут быть использованы в тех или иных случаях. К примеру, пользователям доступны таблицы типа MyISAM поддерживающие полнотекстовый поиск, а также таблицы InnoDB, которые поддерживают транзакции на уровне отдельных записей.
В зависимости от задач, иногда может потребоваться изменить тип таблицы в базе данных. Предположим у нас есть таблица table_name типа MyISAM и вам необходимо изменить тип на InnoDB. Делается это простой SQL командой:

ALTER TABLE table_name ENGINE = InnoDB;

В результате выполнения команды тип таблицы будет изменён на InnoDB. Теперь ситуация, когда в базе имеется целое множество таблиц. Для массового изменения типа таблиц в базе отдельных команд не существует. Это означает, что потребуется выполнить итерацию для каждой таблицы в базе. Есть решение – сформировать список запросов, для каждой из таблиц в базе. После будет выполнить в консоли сервера чтобы сменить тип таблиц в базе.

Сформировать список можно командой:

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` ENGINE = InnoDB;') as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'имя_базы'
ORDER BY 1

Команду удобно выполнить в веб-утилите phpMyAdmin, в результате чего получаем список запросов для таблиц такого вида:

Изначально список будет выведен в сокращённом виде, для отображения без сокращений стоит выставить флажок в настройках: «Параметры – Полный текст». После чего, весь список запросов можно скопировать в буфер обмена, и выполнить в консоли. Такой способ в значительной степени может сократить время на изменение типа таблиц, особенно когда их большое количество.

Так же настоятельно рекомендуется перед выполнением этих операций сделать резервную копию базы данных. Проблем с этим возникнуть не должно, но перестраховаться никогда не помешает. На этом всё, надеюсь материал оказался вам полезным. Всего доброго!

Опубликован: 21.12.2020 г.

См. также:

Работа с базой данных в WordPress
SQL-запросы для смены домена в WordPress
Изменение кодировки таблиц в базе MySQL
Фильтрация по полю DateTime в MySQL
Меняем пароль root в MySQL 5.7
Исправление ошибок в базе MySQL
Восстановление пароля root в MySQL
Утилита Mytop для MySQL

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта