Список непустых таблиц в базе данных MySQL - PullRequest
40 голосов
/ 20 января 2011

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

Ответы [ 4 ]

61 голосов
/ 20 января 2011

'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=?
7 голосов
/ 20 января 2011

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

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

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

SELECT * FROM `TABLES` WHERE `TABLE_ROWS` > 0  AND `TABLE_SCHEMA` = 'database_name'
6 голосов
/ 03 мая 2017

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

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

SHOW TABLE STATUS WHERE Rows > 0;

Документы для ШОУ ТАБЛИЦА СТАТУС

0 голосов
/ 27 сентября 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...