体验一把Ali的Chat2DB数据库客户端工具

前言:

早早就听说过阿里开源了一款工具:ChatDB,里边集成了ChatGPT功能。特地花了点时间,试用一下。

上一次听说这消息的时候,直接下载了windows版本的那个setup.exe,结果被告知安装不了。这次索引,下载了它的java的运行jar包: https://oss-chat2db.alibaba.com/release/2.0.4/chat2db-server-start.jar

试用情况:

总的来说,它是一个Web界面的客户端工具,俗称Web Console。对于我们这些老一批的DB相关人员而言,确实不是很有吸引力。我们一大部分人还是习惯于使用传统的GUI,比如像DBEaver、Navicat、WinSQL、Toad、SQLDeveloper、Sybase Central之类的。既然 提供的是Web Console,那就试着适应一下吧。

启动: 

下载完jar包之后,文档上说,要自己主动下载那些jdbc驱动到:$HOME\.chat2db\jdbc-lib。结果在运行的时候,发现它能自动下载。那样看起来也还蛮方便的。

cation in 12.327 seconds (process running for 13.86)
File already existsC:\Users\ABCDEF\.chat2db\jdbc-lib\postgresql-42.5.1.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\clickhouse-jdbc-0.3.2-patch8-http.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\mysql-connector-java-5.1.47.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\kingbase8-8.6.0.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\mysql-connector-java-8.0.30.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\DmJdbcDriver18-8.1.2.141.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\mariadb-java-client-3.0.8.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\mssql-jdbc-11.2.1.jre17.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\h2-2.1.214.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\orai18n-19.3.0.0.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\presto-jdbc-0.245.1.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\db2jcc4_4.26.14.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\ojdbc8-19.3.0.0.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\redis-jdbc-driver-1.3.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\oceanbase-client-2.4.2.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\sqlite-jdbc-3.39.3.0.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\mongo-jdbc-standalone-1.18.jar
File downloadedC:\Users\ABCDEF\.chat2db\jdbc-lib\hive-jdbc-3.1.2-standalone.jar
............

还有一个,它明确说明了,只能用jdk17,低版本的不能运行。嗯,这个确实有些苛刻了。考虑到它是一款亲的工具,也没太大争议。不需要照顾老版本的JDK。原以为jdk8也可以运行呢。那些jdbc jar包,可是大部分都能在jdk8下跑。

1.简单使用

使用jdk17启动Chat2DB以后,启动它的Web界面:

简洁就是挺简洁的。

不试别的了,就试PostgreSQL,来一个:

存储连接以后,还得打开连接:

确实非常不直观。感觉不是专业做DB client端界面的人做的。

上边三张表都是postgres用户的,没有权限。别起一个console,执行建表及CUD操作:

create table t(id int, col2 varchar(32));

结果显示有些稀疏,确实不如DBEaver之类的工具显示的漂亮。所以需要适应一下。

然后又试了下, export DDL功能 :

==>

基本功能上,看起来也能接受。

如此看来,基本功能可能也就这些了。比DBEaver还是差的很多的。所幸的是,它以后还可以不断迭代,功能嘛,往上加就是了。

2.加上AI

关注它那个公众号之后,可以按要求,拿到一个能用25次的API key,将它设置到界面左下角的那个设置按钮。

25次也够试用一把的了。

示例1:

输入了“帮我删除表t",  嗯,它能给我搞一个"DROP TABLE t"出来。还不错。

示例2:让它帮我生成一个立方和的CTE

看起来还是很牛气的。CUBE(i)不存在,顺手就可以改一下,让它能跑起来。

输入一个有意义的n,试用一下:

-- CTE查询,查询从1到n的立方的和
WITH cte AS (
  SELECT SUM(i*i*i) AS sum_of_cubes
  FROM generate_series(18AS i
)
SELECT sum_of_cubes
FROM cte;

sum_of_cubes
1296

这里边推测,不过是嵌入了对ChatGPT的API的调用,然后集成起来。

总的来说,可以当作小工具偶尔去试一下。话说,如果我有ChatGPT单独的api key, 我们自己也可以独立的向它提问。

加油,相信随着时间的推移,这个工具也会越来越好用。都是慢慢迭代出来的。

请使用浏览器的分享功能分享到微信等