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?

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';

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.


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'; 

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]

-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'


1
Ich sehe in dieser Antwort nichts, was noch nicht in anderen Antworten veröffentlicht wurde.
ypercubeᵀᴹ
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.