Réponses:
SHOW TABLE STATUS WHERE Name = 'xxx'
Cela vous donnera (entre autres) une Enginecolonne, ce que vous voulez.
show full columns from t1?
Pour afficher une liste de toutes les tables d'une base de données et de leurs moteurs, utilisez cette requête SQL:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
Remplacez dbnamepar le nom de votre base de données.
SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = '<database_name>' AND TABLE_NAME = '<table_name>'
COUNT(*)et GROUP BY.
ou juste
show table status;
juste que cela listera toutes les tables de votre base de données.
Un petit peu à la réponse de Jocker (je posterais comme commentaire, mais je n'ai pas encore assez de karma):
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
Cela exclut les vues MySQL de la liste, qui n'ont pas de moteur.
mysqlshow -i <database_name>
affichera les informations pour toutes les tables d'une base de données spécifique.
mysqlshow -i <database_name> <table_name>
le fera juste pour une table spécifique.
Encore une autre façon, peut-être la plus courte pour obtenir le statut d'un ensemble de tables unique ou correspondant:
SHOW TABLE STATUS LIKE 'table';
Vous pouvez ensuite utiliser des opérateurs LIKE par exemple:
SHOW TABLE STATUS LIKE 'field_data_%';
Si vous êtes un utilisateur Linux:
Pour afficher les moteurs pour toutes les tables de toutes les bases de données sur un serveur MySQL, sans tables 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)
Vous pourriez aimer cela, si vous êtes sous Linux, au moins.
Ouvre toutes les informations de toutes les tables less, appuyez sur -Spour couper des lignes trop longues.
Exemple de sortie:
--------------------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
.
.
.
allez dans la base de données information_schema où vous trouverez la table 'tables' puis sélectionnez-la;
Mysql> use information_schema; Mysql> sélectionnez nom_table, moteur à partir des tables;
Si vous êtes un GUI et que vous souhaitez simplement le trouver dans PhpMyAdmin , choisissez la table de votre choix et rendez-vous sur l' Operationsonglet >> Table options>> Storage Engine. Vous pouvez même le modifier à partir de là en utilisant la liste d'options déroulante.
PS: ce guide est basé sur la version 4.8 de PhpMyAdmin. Je ne peux pas garantir le même chemin pour les versions très anciennes.