参考文章: 开源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-devel和python-pycrypto
Python Package:
$ 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](/uploads/projects/duoli@mysql/b6353c51e4eabeea3e30db473364228a.jpeg)
智能提示
Table name completions after the ‘FROM’ keyword.![[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图2](/uploads/projects/duoli@mysql/fd028f10b56efbac680068ed0dfa3199.jpeg)
列名中引用的表的查询范围![[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图3](/uploads/projects/duoli@mysql/c2664c4c06ec824e8dec622291b2d618.jpeg)
别名支持
列完成将即使工作表名称别名。![[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图4](/uploads/projects/duoli@mysql/3da2d6cc2bfcf49d09bbd94c88a31ded.jpeg)
语法高亮显示
sql的语法高亮显示。![[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图5](/uploads/projects/duoli@mysql/d8e7f5cf57623193a5b5f4d7b6d0ca7f.jpeg)
pager
一个sql命令的输出是通过更少的命令自动输送。![[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图6](/uploads/projects/duoli@mysql/8b6fa2756b1fa33d11881b58d2a93ef3.png)
动态效果图如下:![[转 ] MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端 - 图7](/uploads/projects/duoli@mysql/02f0b3d826e113617854d7a9ba8c9ea5.gif)
