体验mssql-cli

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了体验mssql-cli相关的知识,希望对你有一定的参考价值。

原文:体验mssql-cli

1. 背景
安装SQL Server on Linux之后,在命令行下使用sqlcmd,你会发现代码提示,语法高亮,甚至连多行复制都不支持,相比之下,mysql的命令行客户端还好用多了。只做简单的命令管理还行,做数据库开发肯定还得使用SSMS才行。不过,微软不久前发布了一款针对SQL Server新命令行的交互工具——mssql-cli,详细见SQL Server Blog有介绍:
 
该工具提供了以下特性:
  • T-SQL IntelliSense T-SQL智能感知
  • Syntax highlighting 语法高亮
  • Pretty formatting for query results, including Vertical Format 查询结果格式美化,包括垂直格式
  • Multi-line edit mode 多行编辑模式
  • Configuration file support 支持配置文件

技术分享图片

Figure-1:智能提示
 
技术分享图片
Figure-2:格式化显示

 

 

2. 安装
下面就来试用下这款工具吧。这里仅以CentOS7下演示,其他平台可参考SQL Server Blog,或者在Github上有更详细的安装指引:https://github.com/dbcli/mssql-cli/blob/master/doc/installation_guide.md
 
 
2.1 安装最新的EPEL(Extra Packages for Enterprise Linux)
[[email protected] ~]# yum install epel-release
 
2.2 安装相关依赖
[[email protected] ~]# yum install libunwind libicu python-pip
 
2.3 安装mssql-cli
[[email protected] ~]# pip install mssql-cli
 
2.4 使用mssql-cli登录
[[email protected] ~]# mssql-cli -U sa
Password:
Version: 0.8.0
Home: http://github.com/dbcli/mssql-cli
master>SELECT @@version
+--------------------+
| (No column name) |
|--------------------|
| Microsoft SQL Server 2017 (RC2) - 14.0.900.75 (X64)
Jul 27 2017 08:53:49
Copyright (C) 2017 Microsoft Corporation
Developer Edition (64-bit) on Linux (CentOS Linux 7 (Core)) |
+--------------------+
(1 row affected)
Time: 0.103s
master>
 
 
 
3. 体验
在Xshell使用mssql-cli,有以下几点心得,欢迎补充。
  • 语法高亮,智能提示,查询结果格式美化都有了。
  • 如果横向显示的字段过长,会自动把表的字段以纵向的格式显示,并支持逐行上下翻。
  • 直接回车即可执行语句,无须以GO结束。
 
不过也发现几个问题:
  • 直接粘贴多行语句还是会出错。(难道我复制的姿势不对?)
  • 查询返回的数据较多,返回结果较慢;查询较大的数据,很慢。若是等不及按下两次ctrl+c,会如下错误。
  • 字段的内容过长无法显示完整。

技术分享图片

Figure-3:查询过程中两次ctrl+c后报错
 
技术分享图片
Figure-3:字段的内容显示不完整
 
 
4. 总结
在命令行环境下有所增强的功能还是挺好的,适合于没有图形化界面的场景下使用。如果用于开发、管理或查询等,有条件的情况下,还是建议在Windows平台下使用SSMS吧。
 
另外再补充一下:http://www.codeplex.com/已经不再更新,要下载SQL Server的示例数据库直接到Github(https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks)下载更方便。
 

 

以上是关于体验mssql-cli的主要内容,如果未能解决你的问题,请参考以下文章

2019全球体验设计峰会:体验赋能商业,创造更好体验

都谈用户体验,用户体验到底做啥子--重新思考用户体验

用户体验设计师是做啥的?

共推体验数智化 大树体验云加入UXPA中国用户体验专业协会

如何提升产品的用户体验感?

用户体验要素:以用户为中心的产品设计