SELECT
table_name 'Table Name',
data_length + index_length 'Size in Bytes',
ROUND(((data_length + index_length) / 1024 / 1024), 2) 'Size in MiB'
FROM information_schema.tables
WHERE table_schema = 'main'
ORDER BY (data_length + index_length) DESC;
top 5:
SELECT
table_name 'Table Name',
data_length + index_length 'Size in Bytes',
ROUND(((data_length + index_length) / 1024 / 1024), 2) 'Size in MiB'
FROM information_schema.tables
WHERE table_schema = 'main'
ORDER BY (data_length + index_length) DESC limit 5;
specific table:
SELECT
table_name AS `Table`,
round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB`
FROM information_schema.TABLES
WHERE table_schema = "$DB_NAME"
AND table_name = "$TABLE_NAME";