Могу ли я заставить MySQL возвращать все непустые таблицы в базе данных? Очень похоже на "SHOW TABLES", но только те, которые не пусты.
Список непустых таблиц в базе данных MySQL
Ответ 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;