参考文章: 开源Mysql自动补全、语法高亮客户端Mycli
参考文章 : MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端

介绍

MyCli是一个MySQL的命令行客户端,可以实现自动补全(auto-completion)和语法高亮,可用于受欢迎的数据库管理系统 MySQL、MariaDB 和 Percona,支持自动补全和语法高亮。它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持。MyCLI 还支持通过 SSL 安全连接到 MySQL 服务器。
功能特征:
MyCli使用Python Prompt Toolkit编写。
当你输入SQL关键字,数据库的表格和列时可自动补全。
智能补全(默认启用),会提示文本感应的(context-sensitive)补全。
配置文件在第一次启动时,自动创建在 ~/.myclirc
通过使用 Pygents 支持语法高亮
支持 SSL 连接
提供多行查询支持
它可以将每一个查询和输出记录到一个文件中(默认情况下禁用)。
允许保存收藏一个查询(使用 \fs 别名 保存一个查询,并可使用 \f 别名 运行它)。
支持 SQL 语句执行和表查询计时
以更吸引人的方式打印表格数据

安装:

兼容性:
OS X和Linux上测试过。运行在Python 2.6,2.6,3.3,3.4和3.5。能够很好地处理unicode输入/输出。

在安装之前需要确保系统上存在 python-develpython-pycrypto

Python Package:

  1. $ pip install mycli

or

$ easy_install mycli

Mac OS X:
最简单的方法在OS X机器安装mycli是使用homebrew

$ brew update && brew install mycli

Linux:
Debian/Ubuntu Package:
mycli托管在debian软件包packagecloud.io.
添加gpg密钥packagecloud包验证。

$ curl https://packagecloud.io/gpg.key | apt-key add -

安装apt-transport-https包,支持apt使用https下载包

$ apt-get install -y apt-transport-https

添加mycli安装源

$ echo "deb https://packagecloud.io/amjith/mycli/ubuntu/ trusty main" | sudo tee -a /etc/apt/sources.list

更新mycli的安装源,然后安装mycli

$ sudo apt-get update
$ sudo apt-get install mycli

现在使用sudo apt-get upgrade mycli很容易使mycli升级!
RHEL, Centos, Fedora:
我还没有为mycli构建RPM包。所以请使用pip安装mycli。你可以在你的系统上安装pip使用:

$ sudo yum install python-pip python-devel

一旦安装pip,您可以如下安装mycli:

$ sudo pip install mycli

使用

在 Linux 中如何使用 MyCLI 连接 MySQL 和 MariaDB

$ mycli -u root -h localhost

要登录 MySQL 并同时选择数据库,你可以使用和下面类似的命令:

$ mycli local_database
$ mycli -h localhost -u root app_db
$ mycli mysql://amjith@localhost:3306/django_poll

更多使用选项,请输入:

$ mycli --help

效果图

自动补全
简单的完成如关键字和sql函数。
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图1
智能提示
Table name completions after the ‘FROM’ keyword.
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图2
列名中引用的表的查询范围
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图3
别名支持
列完成将即使工作表名称别名。
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图4
语法高亮显示
sql的语法高亮显示。
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图5
pager
一个sql命令的输出是通过更少的命令自动输送。
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图6
动态效果图如下:
[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图7