Как выбрать из ШОУ ТАБЛИЦА СТАТУС результаты

36

Я хотел бы ограничить строки и столбцы, которые возвращаются из

SHOW TABLE STATUS

Команда в MySQL 5.1. Есть ли способ получить эту же информацию через SELECTоператор, чтобы я мог манипулировать результатами обычным способом?

Leopd
источник

Ответы:

33

Это имеет больше столбцов, чем SHOW TABLE STATUS; но делает трюк:

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

ОБНОВЛЕНИЕ 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();

Эти запросы работают, если вы установите текущую базу данных.

Вы также можете жестко закодировать конкретную базу данных:

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
источник
10
show table status like 'table1';

Вы не можете манипулировать столбцами таким образом, но проще выбрать только те таблицы, которые вы хотите, и получить нормальный SHOW TABLE STATUSвывод.

Джон Л
источник
Что ограничивает строки, но не столбцы, верно?
Джек Дуглас
Правильный. Вы не можете манипулировать столбцами таким образом, но проще выбрать только те таблицы, которые вам нужны, и получить нормальный вывод SHOW TABLE STATUS.
Джон Л
3

Вы можете использовать WHERE или LIKE как для SELECT:

show table status where name='name'; 
gayavat
источник
2

show table status может использоваться без выбора текущей базы данных:

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

Смотрите документацию :

SHOW TABLE STATUS
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]
ks1322
источник
-2

Вы можете использовать этот запрос для отображения всей информационной схемы.

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

или стенография:

ПОКАЗАТЬ ТАБЛИЦУ СТАТУСА, КАК 'tableName'

zouhair
источник
1
В этом ответе я не вижу ничего, что не было бы опубликовано в других ответах.
ypercubeᵀᴹ