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?

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';

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 .


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'; 

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]

-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'


11
Não vejo nada nesta resposta que ainda não tenha sido publicado em outras respostas.
ypercubeᵀᴹ
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.