Подтвердить что ты не робот

Список непустых таблиц в базе данных MySQL

Могу ли я заставить MySQL возвращать все непустые таблицы в базе данных? Очень похоже на "SHOW TABLES", но только те, которые не пусты.

4b9b3361

Ответ 1

'information_schema' должен содержать соответствующие данные. Вы можете попробовать

SELECT table_type,
       table_name
FROM information_schema.tables
WHERE table_rows >= 1;

для выбора из выборочной базы данных. Вы также можете фильтровать с помощью TABLE_SCHEMA:

SELECT table_schema,
       table_type,
       table_name 
FROM information_schema.tables
WHERE table_rows >= 1
  AND TABLE_SCHEMA=?

Ответ 2

Используйте базу данных 'information_schema' и запустите

SELECT * FROM `TABLES` WHERE `TABLE_ROWS` > 0 

это даст вам все непустые таблицы на сервере для определенного запуска базы данных

SELECT * FROM `TABLES` WHERE `TABLE_ROWS` > 0  AND `TABLE_SCHEMA` = 'database_name'

Ответ 3

Вы можете запустить этот запрос через phpMyAdmin:

SELECT * 
FROM  `information_schema`.`TABLES` 
WHERE  `TABLE_ROWS` > 0

вернет список непустых таблиц

Ответ 4

Принятый ответ никогда не работал у меня, information_schema table_rows имеет некоторые очень странные значения.

Это работало как шарм:

SHOW TABLE STATUS WHERE Rows > 0;

Документы для статуса SHOW TABLE