MyCLI fixes the biggest annoyance with the standard MySQL client: typing table names without auto-completion like some kind of caveman. Also, the syntax highlighting actually helps you spot typos before you run queries that lock half your database.
Born from the simple frustration of retyping very_long_table_name_with_underscores
for the 47th time in a day, MyCLI transforms the MySQL command line from a masochistic exercise into something you might actually enjoy using. It's what the MySQL client should have been from the start.
Developed as part of the dbcli project, it's built using Python and the prompt_toolkit library. The standard MySQL client's error messages are about as helpful as fortune cookies - MyCLI actually tells you what went wrong. Check out the complete feature documentation for all the ways it improves your workflow.
The tool was successfully funded through Kickstarter and has gained significant adoption with over 11.7k stars on GitHub as of September 2025. It works with MySQL, MariaDB, and Percona databases, though you'll probably run into some fun edge cases if you're using MemSQL or other MySQL-compatible databases. The community is active and responsive to bug reports.
Core Features That Set MyCLI Apart
Intelligent Auto-completion: Auto-completion works great until you connect to a schema with 200+ tables, then it gets sluggish as hell. When you enter SELECT * FROM <tab>
, it shows only table names. Type SELECT * FROM users WHERE <tab>
and it displays only column names from the users table. Sometimes gets confused with complex subqueries and suggests garbage, but it beats manually typing table_with_ridiculously_long_name
for the 47th time. The smart completion documentation explains how it works, and you can configure it to suit your workflow. If performance becomes an issue on large schemas, check out the performance tips from other users.
Syntax Highlighting: SQL statements are color-coded using Pygments, which has saved me from running DELETE without WHERE more times than I'll admit. Multiple color themes are available so you can pick something that doesn't burn your retinas during those 3am debugging sessions. The syntax highlighting is powered by Pygments, the same library used by many other tools. You can even create custom themes if you're feeling fancy.
Enhanced User Experience: Unlike the standard MySQL client, MyCLI doesn't require semicolons to execute queries by default (thank god), supports multiline queries naturally, and provides error messages that actually make sense. Query timing is built-in, so you can see exactly how slow your JOINs are without doing mental math. It also supports paging for large results, query logging, and output redirection like a proper Unix tool.
Works with MySQL's Bastard Cousins: While focused on MySQL, MyCLI works with MariaDB and Percona Server without breaking. Just don't expect miracles with their weird edge cases.
The tool requires Python 3.9+ (don't try 3.8, it'll break mysteriously) and is actively maintained with regular updates. The latest version v1.38.4 was released on September 6, 2025, fixing timing being printed twice and other annoying bugs. Updates come regularly, which is great until one of them breaks your aliases.