Comment sélectionner les résultats de SHOW TABLE STATUS

36

Je voudrais limiter les lignes et les colonnes qui reviennent de la

SHOW TABLE STATUS

commande dans MySQL 5.1. Existe-t-il un moyen d'obtenir ces mêmes informations par le biais d'une SELECTdéclaration afin que je puisse manipuler les résultats de manière normale?

Léopd
la source

Réponses:

33

Cela a plus de colonnes que SHOW TABLE STATUS; mais fait le tour:

SELECT * FROM information_schema.tables WHERE table_schema = DATABASE();

MISE À JOUR 2011-06-07 19:02

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = DATABASE();

Ces requêtes fonctionnent si vous définissez la base de données actuelle.

Vous pouvez également coder en dur la base de données spécifique:

SELECT table_name,Engine,Version,Row_format,table_rows,Avg_row_length,
Data_length,Max_data_length,Index_length,Data_free,Auto_increment,
Create_time,Update_time,Check_time,table_collation,Checksum,
Create_options,table_comment FROM information_schema.tables
WHERE table_schema = 'mysql';
RolandoMySQLDBA
la source
10
show table status like 'table1';

Vous ne pouvez pas manipuler les colonnes de cette façon, mais il est plus facile de sélectionner uniquement les tables souhaitées et d’obtenir une SHOW TABLE STATUSsortie normale .

John L
la source
Ce qui limite les lignes mais pas les colonnes, non?
Jack Douglas
Correct. Vous ne pouvez pas manipuler les colonnes de cette façon, mais il est plus facile de sélectionner uniquement les tables souhaitées et d'obtenir la sortie normale de SHOW TABLE STATUS.
John L
3

Vous pouvez utiliser WHERE ou LIKE comme pour SELECT:

show table status where name='name'; 
Gayavat
la source
2

show table status peut être utilisé sans sélectionner la base de données actuelle:

show table status from DbName where name='TableName';

Voir la documentation :

SHOW TABLE STATUS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]
ks1322
la source
-2

Vous pouvez utiliser cette requête pour afficher tous les schémas d'informations.

SELECT * FROM information_schema.tables WHERE table_schema = DATABASE ();

ou le raccourci:

SHOW TABLE STATUS LIKE 'nomTable'

zouhair
la source
1
Je ne vois rien dans cette réponse qui n'ait pas déjà été posté dans d'autres réponses.
Ypercubeᵀᴹ