から戻ってくる行と列を制限したい
SHOW TABLE STATUS
mySQL 5.1のコマンド。通常の方法で結果を操作できるように、SELECT
ステートメントを通じて同じ情報を取得する方法はありますか?
これには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';
show table status like 'table1';
この方法で列を操作することはできませんが、必要なテーブルのみを選択して通常のSHOW TABLE STATUS
出力を取得する方が簡単です。
SELECTの場合と同様に、WHEREまたはLIKEを使用できます。
show table status where name='name';
show table status
は、現在のデータベースを選択せずに使用できます。
show table status from DbName where name='TableName';
ドキュメント を参照してください:
SHOW TABLE STATUS [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]