How to List Tables in MySQL

Last updated July 24, 2026 · By the SaturnSQL team

SHOW TABLES lists tables in the current database; SHOW TABLES LIKE filters by pattern. Query information_schema.tables when you need sizes, row estimates, or cross-database results.

SHOW TABLES returns one column, named Tables_in_<database>, listing base tables and views together. It only covers the database you are currently using, so run USE shop first or use SHOW TABLES FROM shop. SHOW FULL TABLES adds a Table_type column that distinguishes views from base tables.

SHOW TABLES;
SHOW TABLES LIKE 'order%';

With sizes

information_schema.tables is the queryable version and works across databases. Be aware that table_rows is an estimate for InnoDB and can be off by a wide margin, so use it to find the big tables rather than to report exact counts. data_length and index_length are in bytes, hence the division.

SELECT table_name,
       table_rows,
       ROUND((data_length + index_length) / 1024 / 1024) AS size_mb
FROM information_schema.tables
WHERE table_schema = 'shop'
ORDER BY size_mb DESC;

Run this in SaturnSQL

SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.

Try it free

Related MySQL guides