Я хотел бы ограничить строки и столбцы, которые возвращаются из
SHOW TABLE STATUS
Команда в MySQL 5.1. Есть ли способ получить эту же информацию через SELECT
оператор, чтобы я мог манипулировать результатами обычным способом?
Это имеет больше столбцов, чем 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';
show table status like 'table1';
Вы не можете манипулировать столбцами таким образом, но проще выбрать только те таблицы, которые вы хотите, и получить нормальный SHOW TABLE STATUS
вывод.
Вы можете использовать WHERE или LIKE как для SELECT:
источник
show table status
может использоваться без выбора текущей базы данных:Смотрите документацию :
источник
Вы можете использовать этот запрос для отображения всей информационной схемы.
SELECT * FROM information_schema.tables WHERE table_schema = DATABASE ();
или стенография:
ПОКАЗАТЬ ТАБЛИЦУ СТАТУСА, КАК 'tableName'
источник