This is a very handy query that sorts your tables by their physical size in megabytes. Just be sure to edit the query to include the database name.
select table_name, engine, table_rows, data_length, round(((data_length+index_length)/1024/1024),0) "MB"
from information_schema.tables where table_schema = 'MY_DATABASE' order by data_length;
Eh, GUI is good. I prefer the GUI, personally. I've used PHPMyAdmin for the longest and I haven't had much trouble. However, using the CLI isn't bad either. It has its advantages over GUI. Although, GUI is best suited for noobies to MySQL or people much like myself. XD Even though I'm not so much a noobie :P
The main reason I use the CLI is I'm already there. I do a lot of system administration through the terminal and it's just easier to type "mysql" than to click around my desktop. Plus I don't want the httpd timeout getting in the way of longer queries. I typically run long queries that sometimes take a few minutes to complete. It's better to put those into a "screen" so there's nothing that'll stop them from completing.
I'm with @Hawkee as well. CLI does provide far more flexibly and you remove the PHP 'middle-man' with things like large SQL files. I've actually used Navicat for years and it's been great. Not only does it provide minimal client-side GUI but, it allows for CLI access. They've had a lite version out since I can remember but, I'm having an issue finding it at the moment. It's a great tool and I would highly recommend it!