Como selecionar resultados do SHOW TABLE STATUS

36

Gostaria de limitar as linhas e colunas que retornam do

SHOW TABLE STATUS

comando no MySQL 5.1. Existe uma maneira de obter essas mesmas informações através de uma SELECTdeclaração para que eu possa manipular os resultados de uma maneira normal?

Leopd
fonte

Respostas:

33

Isso tem mais colunas que SHOW TABLE STATUS; mas faz o truque:

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

Essas consultas funcionam se você definir o banco de dados atual.

Você também pode codificar o banco de dados específico:

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

Você não pode manipular as colunas dessa maneira, mas é mais fácil selecionar apenas as tabelas desejadas e obter a SHOW TABLE STATUSsaída normal .

John L
fonte
O que limita as linhas, mas não as colunas, certo?
Jack Douglas
Corrigir. Você não pode manipular as colunas dessa maneira, mas é mais fácil selecionar apenas as tabelas desejadas e obter a saída normal SHOW TABLE STATUS.
John L
3

Você pode usar WHERE ou LIKE como para SELECT:

show table status where name='name'; 
gayavat
fonte
2

show table status pode ser usado sem selecionar o banco de dados atual:

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

Veja a documentação :

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

Você pode usar esta consulta para exibir todo o esquema de informações.

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

ou a abreviação:

MOSTRAR O STATUS DA TABELA COMO 'tableName'

zouhair
fonte
11
Não vejo nada nesta resposta que ainda não tenha sido publicado em outras respostas.
ypercubeᵀᴹ