web-dev-qa-db-ja.com

SHOW TABLE STATUSの結果から選択する方法

から戻ってくる行と列を制限したい

SHOW TABLE STATUS

mySQL 5.1のコマンド。通常の方法で結果を操作できるように、SELECTステートメントを通じて同じ情報を取得する方法はありますか?

38
Leopd

これにはSHOW TABLE STATUSよりも多くの列があります。しかし、トリックを行います:

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

更新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();

これらのクエリは、現在のデータベースを設定した場合に機能します。

特定のデータベースをハードコーディングすることもできます。

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';
34
RolandoMySQLDBA
show table status like 'table1';

この方法で列を操作することはできませんが、必要なテーブルのみを選択して通常のSHOW TABLE STATUS出力を取得する方が簡単です。

10
John L

SELECTの場合と同様に、WHEREまたはLIKEを使用できます。

show table status where name='name'; 
3
gayavat

show table statusは、現在のデータベースを選択せず​​に使用できます。

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

ドキュメント を参照してください:

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