Respuestas:
SHOW TABLE STATUS WHERE Name = 'xxx'
Esto le dará (entre otras cosas) una Engine
columna, que es lo que desea.
show full columns from t1
?
Para mostrar una lista de todas las tablas en una base de datos y sus motores, use esta consulta SQL:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
Reemplace dbname
con el nombre de su base de datos.
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)
y GROUP BY
.
o solo
show table status;
solo que esto listará todas las tablas en su base de datos.
Un pequeño ajuste a la respuesta de Jocker (publicaría como un comentario, pero todavía no tengo suficiente karma):
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
Esto excluye las vistas de MySQL de la lista, que no tienen un motor.
mysqlshow -i <database_name>
mostrará la información de todas las tablas de una base de datos específica.
mysqlshow -i <database_name> <table_name>
lo hará solo para una tabla específica.
Otra forma, quizás la más corta para obtener el estado de un conjunto de tablas único o coincidente:
SHOW TABLE STATUS LIKE 'table';
Luego puede usar operadores LIKE, por ejemplo:
SHOW TABLE STATUS LIKE 'field_data_%';
Si eres un usuario de Linux:
Para mostrar los motores para todas las tablas para todas las bases de datos en un servidor MySQL, sin tablas 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)
Puede que te encante esto, si estás en Linux, al menos.
Se abrirá toda la información para todas las tablas less
, presione -S
para cortar líneas demasiado largas.
Salida de ejemplo:
--------------------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
.
.
.
vaya a la base de datos de información_esquema allí encontrará la tabla 'tablas' y luego selecciónela;
Mysql> use information_schema; Mysql> seleccione nombre_tabla, motor de tablas;
Si eres un tipo de GUI y solo quieres encontrarlo en PhpMyAdmin , elige la tabla que elijas y ve a la Operations
pestaña >> Table options
>> Storage Engine
. Incluso puede cambiarlo desde allí utilizando la lista de opciones desplegable.
PD: esta guía se basa en la versión 4.8 de PhpMyAdmin. No se puede garantizar la misma ruta para versiones muy antiguas.