chat2DB是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,可以给出研发人员SQL的优化建议,极大的提升人员的效率,是AI时代数据库研发人员的利器,未来即使不懂SQL的运营业务也可以使用快速查询业务数据、生成报表能力。是一种智能且多功能的通用SQL客户端和报告工具,该工具与ChatGPT的功能集成在一起。
SQL(Structured Query Language)是一种用于管理和操作关系型数据库的编程语言。这个工具是一个SQL客户端,意味着它允许用户与数据库进行交互,在数据库上执行查询操作和其他操作。
此外,这个工具还具备ChatGPT的功能,即集成了ChatGPT的技术。ChatGPT是OpenAI开发的一种自然语言处理模型,它能够生成自然语言回复并进行对话。因此,这个工具提供了与用户进行自然语言对话的能力。
综上所述,这个SQL客户端和报告工具不仅具备执行数据库查询和操作的功能,还能够通过对话与用户进行交互。这使得用户可以使用自然语言提出问题或要求,并得到对应的回复和结果。
我的个人心得为在之前1.X版本时代,有不少bug是使用问题,但2.0版本发布后,使用感受明显得到了很大提升,其次chat2DB以及同类应用的出现,也代表着在未来的发展中,只要你能简洁准确的描述出SQL的业务需求,则即可反馈出你想要的sql语句和结果,意味着例如广大的产品经理、市场人员也一样可以渗透到数据分析开发人员的领域,实现更多的业务交集。
项目官方地址:https://github.com/chat2db/Chat2DB
从官方项目介绍来看,目前常用的DB基本都已经支持
在后续,很快将会开放Hbase、Elasticsearch、openGauss、TiDB、InfluxDB等连接功能
Description | Download |
---|---|
Windows | https://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB%20Setup%202.0.1.exe |
MacOS ARM64 | https://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB-2.0.1-arm64.dmg |
MacOS X64 | https://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB-2.0.1.dmg |
Jar包 | https://oss-chat2db.alibaba.com/release/2.0.1/chat2db-server-start.jar |
下载安装包Chat2DB Setup 2.0.1.exe后,直接安装即可,界面非常简洁清晰
例如添加一个MySQL数据库数据源,点击MySQL即可
将连接信息填写,点击Test,测试通过,点击保存Save
注意: hosts可以直接输入IP地址,这里我做了本地的hosts解析
在数据库Connections中,可以看到已经添加的数据库实例清单,双击对应实例,即可进入到对应数据源管理界面
使用前需要配置OpenAI的Api Key及本地代理配置
方式1比较适合经常使用原生官方chat,有一定经验的老司机人员,否则建议跳过直接使用下面的方式2
查看key:OPENAI_API_KEY方式:
信息配置:
方式1的好处是没有使用次数限制,缺点是网络上需要自己去实现打通
官方为了方便大家更快速的使用AI的能力,可以关注微信公众号,回复"AI" 获得我们的自定义API_KEY,申请完成之后参考下图进行配置即可进行使用
方式2的好处是网络上没有任何限制,直接拿到Api Key配置即可使用,方便快捷,缺点为有使用次数,每日使用25次
配置完毕后,使用方式将改变成只需要描写需求即可
表1:game_gold
-- 表1建表语句 CREATE TABLE `game_gold` ( `NAME` varchar(20) DEFAULT NULL COMMENT '游戏角色', `gold` int(11) DEFAULT NULL COMMENT '游戏金币', `play_role_id` int(11) DEFAULT NULL COMMENT '角色id' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 样例数据 INSERT INTO `game_gold` VALUES ('player01', 2200, 1); INSERT INTO `game_gold` VALUES ('player02', 1800, 7); INSERT INTO `game_gold` VALUES ('player01', 2200, 6); INSERT INTO `game_gold` VALUES ('player02', 1800, 9);
-- 表2建表语句 CREATE TABLE `wow_info` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '角色id', `role` varchar(255) DEFAULT NULL COMMENT '角色简称', `role_cn` varchar(255) DEFAULT NULL COMMENT '角色类型', `role_pinyin` varchar(255) DEFAULT NULL COMMENT '角色拼音', `zhuangbei` varchar(255) DEFAULT NULL COMMENT '装备类型', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; -- 样例数据 INSERT INTO `wow_info` VALUES (1, 'fs', '法师', 'fashi', '布甲'); INSERT INTO `wow_info` VALUES (2, 'ms', '牧师', 'mushi', '布甲'); INSERT INTO `wow_info` VALUES (3, 'ss', '术士', 'shushi', '布甲'); INSERT INTO `wow_info` VALUES (4, 'dz', '盗贼', 'daozei', '皮甲'); INSERT INTO `wow_info` VALUES (5, 'ws', '武僧', 'wuseng', '皮甲'); INSERT INTO `wow_info` VALUES (6, 'xd', '德鲁伊', 'xiaode', '皮甲'); INSERT INTO `wow_info` VALUES (7, 'sq', '圣骑士', 'shengqi', '板甲'); INSERT INTO `wow_info` VALUES (8, 'zs', '战士', 'zhanshi', '板甲'); INSERT INTO `wow_info` VALUES (9, 'dk', '死亡骑士', 'siwangqishi', '板甲'); INSERT INTO `wow_info` VALUES (10, 'dh', '恶魔猎手', 'emolieshou', '皮甲');
两张表关系:
作为一个SQL开发人员,查询一张表数据量,会使用SQL语句
但作为销售或者不懂SQL的岗位,如今只需要在需求描述区域输入例如:查看wow_info表一共有多少条信息
即可获取到一样的结果
从示例2可以看到,需求描述可以多个条件结合
例如:附上SQL注释,返回一条wow_info的样例数据
多表查询可以实现需求
需求:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型
如果实际使用场景中,你对反馈的结果不是很满意,可以补充条件来修正反馈的SQL,例如这个示例通过子查询来实现,但此时想用join来实现需求
需求:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型,,要求使用join实现
chat2DB除可以AI智能SQL分析,还可以协助自动生成报表
例如,wow_info表中,字段:zhuangbei,代表装备类型,有布甲、皮甲、板甲等等
现在想去分析一下每种类型的占比情况
在Charts栏中可以选择不同的指标,实现不同维度的数据
例如目前纵坐标代表不同装备类型的总数count,可以在yAxis中改成percentage比例,则可以看到对应比例为30%|30%|40%
上一篇:12款AI代码生成工具,都很能打