如何从 SHOW TABLE STATUS 结果中进行选择

Leo*_*opd 42 mysql select

我想限制从

SHOW TABLE STATUS
Run Code Online (Sandbox Code Playgroud)

MySQL 5.1 中的命令。有没有办法通过SELECT语句获得相同的信息,以便我可以以正常方式操作结果?

Rol*_*DBA 40

这比 SHOW TABLE STATUS 有更多的列;但诀窍是:

SELECT * FROM information_schema.tables WHERE table_schema = DATABASE();
Run Code Online (Sandbox Code Playgroud)

更新 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();
Run Code Online (Sandbox Code Playgroud)

如果您设置当前数据库,这些查询将起作用。

您还可以对特定数据库进行硬编码:

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';
Run Code Online (Sandbox Code Playgroud)


小智 12

show table status like 'table1';
Run Code Online (Sandbox Code Playgroud)

您不能以这种方式操作列,但只选择您想要的表并获得正常SHOW TABLE STATUS输出会更容易。