Here is a super simple SQL query to determine the size of all tables in a given database:
SELECT table_name AS "Table",
round(((data_length + index_length) / 1024 / 1024), 2) AS Size_in_MB
FROM information_schema.TABLES
WHERE table_schema = 'my_db_name'
ORDER BY Size_in_MB DESC
This can be very useful when debugging for instance in figuring out which rogue plugin/module on your site is dumping hundreds of megs of data into your database.