Administering databases is not generally an exciting task, it’s right up there with TPS reports and their cover sheets. So why then, are you using the command-line MySQL client to administer your MySQL databases when you have a nice shiny user interface provided by OS X at your disposal?
The people behind Querious and Sequel Pro asked the same question, and have come up with two different answers. Neither are yet at a ‘1.0’ release (Querious is close at 1.0beta2, Sequel Pro is at 0.9.3), however both are extremely functional and stable.
Compared to Querious, Sequel Pro has a relative long history, being an open-source project inherited from the now defunct CocoaMySQL. Querious on the other hand, is a brand new offering and is a commercial product costing $25 (a 30 day trial is available for download).
We’ll take a look at each app, pound for pound, and see who comes out stronger.
MySQL Server Version Support
The first, and critically important, difference to note is that Querious will only connect to MySQL 5 servers. This is potentially a big limitation (it is for me as most of the databases I work with every day are still MySQL 3) — so if you also need to connect to MySQL 3 or MySQL 4, Sequel Pro is the only option out of the two.
If you want to work with multiple servers or databases at once, Sequel Pro presents a new window for each instance. Querious gives you the option of using a tabbed interface like Safari, or creating a new window, and is thus more flexible.
Sequel Pro lets you pick the database from a drop down list, then presents a flat list of tables for browsing. This is functional but does limit the visual overview to one database at a time.
Querious gives you a tree view with all databases which expand to show their tables. This allows quickly seeing multiple tables from different databases — the difference is subtle but potentially useful.
Both applications let you browse table records, allowing you to easily sort fields by clicking the column headers or filtering a specific field. Querious takes this one step further, allowing full text searches across all fields, or even specifying a custom WHERE clause just for that table.
Viewing and modifying table structure definition is much the same with both apps, allowing easy modification of table fields and indexes. Sequel Pro displays both structure and index on the same screen, while Querious splits these into two. The advantage that Querious has here is that it allows viewing and modifying the table and individual field character encoding. Sequel Pro doesn’t support this. Both have an easy facility to show and copy to the clipboard the corresponding CREATE TABLE query for the table definition.
At the end of the day, the most important feature of any database tool is how efficiently you can run queries. Almost any database task can be performed via a query, so any UI feature that is missing can be made up for by a strong query runner.
The huge advantage that Querious has over Sequel Pro when it comes to to running queries is syntax highlighting and code completion. The code completion will give you options to complete SQL reserved words and table entities. The syntax highlighting visually distinguishes reserved words from table entities and user constants, allowing you to spot typo errors quickly. Sequel Pro on the other hand, just gives you a plain text box.
Both applications support query histories, allowing you to click and see previous queries you’ve run. Sequel Pro does this with a drop down list to select a previous query. Querious lists these with a datetime stamp — requiring you to click the item before you can see the query — this could increase the time it takes to find that old query you’re looking for. Unfortunately, neither app allows you to go back and forth in the query history via keyboard shortcuts. On the keyboard shortcut note: in Sequel Pro you can type your query and then press enter to execute it. This should work the same with Querious (and does with an external aluminum keyboard) but it just ignores fn-return on my MacBook Pro. This is a minor bug, but is critical for every day use. Keyboard shortcuts are a must-have feature for me to use an app on a daily basis — stopping my work flow to move the mouse constantly just slows things down.
Querious and Sequel Pro also offer ‘Query Favorites,’ allowing you to store commonly used queries. Sequel Pro just uses a single drop down box again to select the query. Querious takes this further allowing multiple collections of favorite queries, giving each one a name. This allows you to group common queries by tasks or databases.
Querious allows editing users and allows full user privileges management with a simple point & click interface. Sequel Pro has no specific UI to handle this.
Both apps expose menu options to perform table maintenance such as analyzing, checking, flushing, repairing and optimizing. They also allow you to flush user privileges. The one thing that Sequel Pro can do that Querious can’t, is view the current server-side variables.
Importing and Exporting
Querious and Sequel Pro both allow importing and exporting databases or single tables in SQL or CSV/Tab files. Sequel Pro also allows exporting tables in XML.
You can select records (from a table or query) with both applications and copy them to the clipboard. Sequel Pro will copy these as tab delimited text, allowing pasting into a text editor or spreadsheet like Numbers, effortlessly. Querious goes a step further, providing an option sheet when copying, allowing you to specify the format to go into clipboard: CSV, Tab or SQL. The ability to copy records as SQL Insert statements is quite powerful, especially if you want to move specific records to another database or table quickly.
When it comes to MySQL 5 servers, Querious matches and exceeds the features of Sequel Pro with style. If you don’t need to connect to a MySQL 3 or MySQL 4 database, Querious is just more polished and feature-rich than Sequel Pro and is well worth the small price tag. I hope they add MySQL 3 and MySQL 4 support soon, as I will start using it the instant they do so.