it-swarm.it

Come selezionare i risultati SHOW TABLE STATUS

Vorrei limitare le righe e le colonne che ritornano dal file

SHOW TABLE STATUS

comando in MySQL 5.1. C'è un modo per ottenere queste stesse informazioni attraverso un'istruzione SELECT in modo che io possa manipolare i risultati in modo normale?

38
Leopd

Questo ha più colonne di SHOW TABLE STATUS; ma fa il trucco:

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

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

Queste query funzionano se si imposta il database corrente.

È inoltre possibile codificare il database specifico:

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

Non puoi manipolare le colonne in questo modo, ma è più facile selezionare solo le tabelle che desideri e ottenere il normale SHOW TABLE STATUS produzione.

10
John L

Puoi usare WHERE o LIKE come per SELECT:

show table status where name='name'; 
3
gayavat

show table status può essere utilizzato senza selezionare il database corrente:

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

Vedi documentazione :

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