recomendaciones - no repetir datos en mysql



Lista de tablas no vacías en la base de datos MySQL (3)

¿Puedo hacer que MySQL devuelva todas las tablas no vacías en una base de datos? Muy parecido a "MOSTRAR TABLAS", pero solo aquellos que no están vacíos.

https://src-bin.com


Answer #1

'information_schema' debe contener los detalles relevantes. Puedes probar

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

para seleccionar desde una base de datos selectiva. También puede filtrar por TABLE_SCHEMA :

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

Answer #2

La respuesta aceptada nunca funcionó para mí, information_schema table_rows tiene algunos valores muy extraños.

Funcionó como por arte de magia:

SHOW TABLE STATUS WHERE Rows > 0;

Documentos para SHOW TABLE STATUS


Answer #3

Usa la base de datos 'information_schema' y ejecuta

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

esto le dará todas las tablas no vacías en el servidor para una determinada base de datos ejecutada

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




sql