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


36

から返される行と列を制限したい

SHOW TABLE STATUS

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

回答:


33

これには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';

10
show table status like 'table1';

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


行は制限されていますが、列は制限されていません。
ジャックダグラス

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

3

SELECTとしてWHEREまたはLIKEを使用できます。

show table status where name='name'; 

2

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

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

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

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

-2

このクエリを使用して、すべての情報スキーマを表示できます。

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

または速記:

'tableName'のようなテーブルステータスの表示


1
この回答には、他の回答にまだ掲載されていないものはありません。
ypercubeᵀᴹ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.