I’ve been working with mysql/php for many years, and although there is no substitute for the command line when it comes to certain tasks (like running mysqldump), there are a few MySql GUI programs that I use for almost all of my mysql database development. I’ve tested many commercial products, but in the end I still wind up using these free GUI tools for MySql development.
I will break the tools up into three categories:
I. Database Design and Layout
II. Database administration, maintenance and data tools.
III. Query Generation, Testing and Maintenance
I’ve tried quite a few database modeling programs and I find myself returning to the MySql Workbench, available from MySql directly at http://dev.mysql.com/downloads/select.php?id=8.
This tools is invaluable in planning, designing, and laying out a database, and I recommend it for advanced beginners and intermediate users. I did run into some difficulty, however, when it came to generating sql code from a design where foreign keys are involved. Sometimes the program would not correctly export the foreign key relationships. Other than that, this is the tool I use to design all of my databases.
II. Database administration, maintenance and data tools.
The second set of tools I will describe below are available directly from the MySql websites as the “GUI Tools” (http://dev.mysql.com/downloads/gui-tools/5.0.html). They are:
The most useful of these tools for me is the MySql Query Browser.
1. The MySql Query Browser is a one-stop shop for database creation, modification and data entry. You can easily execute sql scripts as well as queries. One of the most useful features is the ability to rapidly create databases as well as the ability to modify databases (e.g. add fields), as these tasks can often be cumbersome via the command line. It’s important to understand the sql that’s going on in the background, but this tool will really allow you to speed-up your development.
2. MySQL Administrator is very helpful for basic user administration tasks. I don’t use it nearly as frequently as the query browser, but it is helpful once again in saving time vs using the command line.
3. Because I don’t often work outside of MySql anymore, I don’t really use the MySQL Migration Toolkit, so I can’t provide a review for that product here.
III. Query Generation, Testing and Maintenance
Working with complex queries can be a chore, and that’s where FlySpeed SQL Query comes into play. This program comes in a freeware as well as a commercial version. I use this program to generate and test almost all of my sql queries, prior to using them in my live code. When I develop I find it’s imperative to use my time wisely, so by using this tool, I know that my queries are fully functional with the results that I want, prior to adding them to my application. Because it’s a GUI, it can really simplify your JOIN queries and queries that use querystrings.
I’d be interested to see what your experience has been with these tools, or if you have tools that you find to be “required” in your development process.