So wählen Sie aus den Ergebnissen von SHOW TABLE STATUS aus

36

Ich möchte die Zeilen und Spalten einschränken, die von der

SHOW TABLE STATUS

Befehl in MySQL 5.1. Gibt es eine Möglichkeit, dieselben Informationen über eine SELECTAnweisung abzurufen, damit ich die Ergebnisse auf normale Weise bearbeiten kann?

Leopd
quelle

Antworten:

33

Dies hat mehr Spalten als SHOW TABLE STATUS; aber macht den Trick:

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

UPDATE 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();

Diese Abfragen funktionieren, wenn Sie die aktuelle Datenbank festlegen.

Sie können die spezifische Datenbank auch hart codieren:

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
quelle
10
show table status like 'table1';

Sie können die Spalten nicht auf diese Weise bearbeiten, aber es ist einfacher, nur die gewünschten Tabellen auszuwählen und die normale SHOW TABLE STATUSAusgabe zu erhalten.

John L
quelle
Was begrenzt die Zeilen aber nicht die Spalten, richtig?
Jack Douglas
Richtig. Sie können die Spalten nicht auf diese Weise bearbeiten, aber es ist einfacher, nur die gewünschten Tabellen auszuwählen und die normale Ausgabe von SHOW TABLE STATUS zu erhalten.
John L
3

Sie können WHERE oder LIKE wie für SELECT verwenden:

show table status where name='name'; 
gayavat
quelle
2

show table status kann ohne Auswahl der aktuellen Datenbank verwendet werden:

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

Siehe Dokumentation :

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

Mit dieser Abfrage können Sie alle Informationsschemata anzeigen.

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

oder die Kurzschrift:

SHOW TABLE STATUS LIKE 'tableName'

zouhair
quelle
1
Ich sehe in dieser Antwort nichts, was noch nicht in anderen Antworten veröffentlicht wurde.
ypercubeᵀᴹ