it-swarm-eu.dev

Jak VÝBĚR Z VÝSLEDKŮ VÝSLEDKŮ TABULKY

Chtěl bych omezit řádky a sloupce, které se vracejí z

SHOW TABLE STATUS

příkaz v MySQL 5.1. Existuje způsob, jak získat stejné informace pomocí příkazu SELECT, abych mohl výsledky normálně manipulovat?

38
Leopd

To má více sloupců než SHOW TABLE STATUS; ale dělá trik:

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

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

Tyto dotazy fungují, pokud nastavíte aktuální databázi.

Můžete také pevně kódovat konkrétní databázi:

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

Takto nemůžete manipulovat se sloupci, ale je snazší vybrat pouze požadované tabulky a získat normální SHOW TABLE STATUS výstup.

10
John L

Můžete použít WHERE nebo LIKE jako pro SELECT:

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

show table status lze použít bez výběru aktuální databáze:

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

Viz dokumentace :

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