it-swarm.dev

Jak wybrać z wyników POKAŻ STATUS TABELI

Chciałbym ograniczyć wiersze i kolumny, które wracają z

SHOW TABLE STATUS

polecenie w MySQL 5.1. Czy istnieje sposób na uzyskanie tych samych informacji za pomocą instrukcji SELECT, dzięki czemu mogę manipulować wynikami w normalny sposób?

38
Leopd

Ma więcej kolumn niż POKAŻ STATUS TABELI; ale robi sztuczkę:

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

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

Te zapytania działają, jeśli ustawisz bieżącą bazę danych.

Możesz także kodować konkretną bazę danych:

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

Nie możesz w ten sposób manipulować kolumnami, ale łatwiej jest wybrać tylko odpowiednie tabele i uzyskać normalne SHOW TABLE STATUS wynik.

10
John L

Możesz użyć GDZIE lub JAK, jak dla WYBIERZ:

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

show table status można używać bez wybierania bieżącej bazy danych:

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

Zobacz dokumentacja :

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