Réponses:
SHOW TABLE STATUS WHERE Name = 'xxx'
Cela vous donnera (entre autres) une Engine
colonne, 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 dbname
par 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 -S
pour 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' Operations
onglet >> 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.