





SHOW TABLE STATUS WHERE Name = 'xxx'
Это даст вам (среди прочего) столбец Engine, который вам и нужен.
@Greg, использовать это решение или решение Джокера?
@Pacerier - Оба работают нормально. Разница в том, что это решение дает информацию для одной таблицы, в то время как решение Джокера показывает тип движка для всех таблиц в базе данных (при этом оно немного более читабельно).
@Greg, кстати, почему не отображается информация о двигателе, когда мы делаем show full columns from t1?
SHOW CREATE TABLE <tablename>;
Менее анализируемый, но более читаемый, чем SHOW TABLE STATUS.
или просто
show table status;
просто это перечислит все таблицы в вашей базе данных.
@NikolaiSamteladze, у вас в выбранной db таблицы есть?
Чтобы показать список всех таблиц в базе данных и их механизмов, используйте этот запрос SQL:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
Замените dbname именем своей базы данных.
Это отличный b / c, он отфильтровывает все, кроме имени таблицы и движка.
Чтобы получить движок конкретной таблицы, вы можете использовать: SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
Это дает мне пустой набор в MySQL 5.6.37.
Это лучший ответ, потому что это настоящий SQL, поэтому я могу делать такие вещи, как COUNT(*) и GROUP BY.
Небольшая поправка к ответу Джокера (я бы опубликовал как комментарий, но у меня пока недостаточно кармы):
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
Это исключает представления MySQL из списка, у которых нет движка.
SHOW CREATE TABLE <tablename>\G
отформатирует его намного лучше по сравнению с выводом
SHOW CREATE TABLE <tablename>;
Уловку \G также полезно запомнить для многих других запросов / команд.
\ G взломать только под cli mysql
перейдите в базу данных information_schema, там вы найдете таблицу «таблицы» и выберите ее;
Mysql> используйте information_schema; Mysql> выберите имя_таблицы, движок из таблиц;
mysqlshow -i <database_name>
покажет информацию для всех таблиц определенной базы данных.
mysqlshow -i <database_name> <table_name>
будет делать это только для конкретной таблицы.
Еще один способ, возможно, самый короткий, чтобы получить статус одной или согласованного набора таблиц:
SHOW TABLE STATUS LIKE 'table';
Затем вы можете использовать операторы LIKE, например:
SHOW TABLE STATUS LIKE 'field_data_%';
Если вы пользователь Linux:
Чтобы показать механизмы для всех таблиц для всех баз данных на сервере mysql, без таблиц information_schema, mysql, performance_schema:
less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------"; mysql -e "use $i; show table status;"; done } | column -t)
Вам это может понравиться, по крайней мере, если вы работаете в Linux.
Откроет всю информацию для всех таблиц в less, нажмите -S, чтобы вырезать слишком длинные строки.
Пример вывода:
--------------------information_schema--------------------
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time C
CHARACTER_SETS MEMORY 10 Fixed NULL 384 0 16434816 0 0 NULL 2015-07-13 15:48:45 NULL N
COLLATIONS MEMORY 10 Fixed NULL 231 0 16704765 0 0 NULL 2015-07-13 15:48:45 NULL N
COLLATION_CHARACTER_SET_APPLICABILITY MEMORY 10 Fixed NULL 195 0 16357770 0 0 NULL 2015-07-13 15:48:45 NULL N
COLUMNS MyISAM 10 Dynamic NULL 0 0 281474976710655 1024 0 NULL 2015-07-13 15:48:45 2015-07-13 1
COLUMN_PRIVILEGES MEMORY 10 Fixed NULL 2565 0 16757145 0 0 NULL 2015-07-13 15:48:45 NULL N
ENGINES MEMORY 10 Fixed NULL 490 0 16574250 0 0 NULL 2015-07-13 15:48:45 NULL N
EVENTS MyISAM 10 Dynamic NULL 0 0 281474976710655 1024 0 NULL 2015-07-13 15:48:45 2015-07-13 1
FILES MEMORY 10 Fixed NULL 2677 0 16758020 0 0 NULL 2015-07-13 15:48:45 NULL N
GLOBAL_STATUS MEMORY 10 Fixed NULL 3268 0 16755036 0 0 NULL 2015-07-13 15:48:45 NULL N
GLOBAL_VARIABLES MEMORY 10 Fixed NULL 3268 0 16755036 0 0 NULL 2015-07-13 15:48:45 NULL N
KEY_COLUMN_USAGE MEMORY 10 Fixed NULL 4637 0 16762755 0
.
.
.
Если вы используете MySQL Workbench, щелкните таблицу правой кнопкой мыши и выберите alter table.
В этом окне вы можете увидеть свой движок таблицы, а также изменить его.

Если вы парень GUI и просто хотите найти его в PhpMyAdmin, выберите таблицу по вашему выбору и перейдите на вкладку Operations >> Table options >> Storage Engine.
Вы даже можете изменить его оттуда, используя раскрывающийся список параметров.
PS: Это руководство основано на версии 4.8 PhpMyAdmin. Не может гарантировать тот же путь для очень старых версий.
Если моя таблица повреждена, она просто показывает Engine = NULL и имеет «Комментарий», предлагающий мне восстановить таблицу. Однако, прежде чем я узнаю, как отремонтировать стол, я предполагаю, что мне нужно знать движок (я еще не дошел до этого, если честно.) Поэтому комментарий @Joker ниже был для меня гораздо более полезным.