Call me a geek (that’s comment #1 sorted), but I love tinkering with MySQL databases. While NoSQL may be trendy, tangling with tables, formalizing fields, initializing indexes, creating keys and specifying SQL remains an essential skill for many web developers.
Personally, I prefer desktop database design applications such as MySQL Workbench or the excellent SQLyog (and its community edition). Tools such as phpMyAdmin and Adminer are useful for quick and dirty live editing on the server, but I never thought I’d use a web application for database creation.
Then I discovered DbNinja.
The tool is unlike other PHP-based MySQL clients. Rather than connecting to a single instance, it permits you to define one or more hosts and examine or modify any of its databases. This means you can create a new database, specify users, define tables, indices, foreign keys, views, procedures, functions, events and triggers.
You can also examine advanced options such as the server status, processes, and system variables:
Unlike simpler applications, every new action occurs in its own tab. You can tweak the settings, modify a couple of tables, perform a SQL query and export to a file in separate panes and switch between them without losing the settings. Most items can be right-clicked to show context-sensitive menus:
However, DbNinja has one killer feature: it feels like a desktop application. It’s fast, slick and responsive even on my aging laptop. It’s rare to encounter web-based development applications which have the potential to replace desktop tools.
DbNinja is free for personal use and there are commercial licenses should you want to offer it to clients.
Even if you have no interest using DbNinja, I recommend you to download it for an example of HTML5 application development at its best.