List of non-empty tables in MySQL database

前端 未结 4 1623
北海茫月
北海茫月 2020-12-12 21:23

Can I get MySQL to return all non-empty tables in a database? Much like \"SHOW TABLES\" but only those that are not empty.

相关标签:
4条回答
  • 2020-12-12 21:40

    You can run this query via phpMyAdmin:

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

    will return a list of non-empty tables

    0 讨论(0)
  • 2020-12-12 21:50

    'information_schema' should be holding the relevant details. You can try

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

    to select from a selective database. You can also filter by TABLE_SCHEMA:

    SELECT table_schema,
           table_type,
           table_name 
    FROM information_schema.tables
    WHERE table_rows >= 1
      AND TABLE_SCHEMA=?
    
    0 讨论(0)
  • 2020-12-12 21:58

    The accepted answer never worked for me, information_schema table_rows have some very weird values.

    This worked like a charm:

    SHOW TABLE STATUS WHERE Rows > 0;
    

    Docs for SHOW TABLE STATUS

    0 讨论(0)
  • 2020-12-12 21:58

    Use database 'information_schema' and run

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

    this will give you all non-empty tables in the server for a certain database run

    SELECT * FROM `TABLES` WHERE `TABLE_ROWS` > 0  AND `TABLE_SCHEMA` = 'database_name'
    
    0 讨论(0)
提交回复
热议问题