chat2DB使用教程

news2025/1/20 21:38:19

1. chat2DB简介

1-1. 简介

​ 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

1-2. chat2DB常用数据库支持类型

从官方项目介绍来看,目前常用的DB基本都已经支持

在后续,很快将会开放Hbase、Elasticsearch、openGauss、TiDB、InfluxDB等连接功能

1-3. 特点

  • 🌈 AI智能助手,支持自然语言转SQL、SQL转自然语言、SQL优化建议
  • 🔥 SQL查询、AI查询和数据报表完美集成的一体化解决方案设计与实现
  • 👭 支持团队协作,研发无需知道线上数据库密码,解决企业数据库账号安全问题
  • ⚙️ 强大的数据管理能力,支持数据表、视图、存储过程、函数、触发器、索引、序列、用户、角色、授权等管理
  • 🔌 强大的扩展能力,目前已经支持MySQL、PostgreSQL、Oracle、SQLServer、ClickHouse、OceanBase、H2、SQLite等等,未来会支持更多的数据库
  • 🛡 前端使用 Electron 开发,提供 Windows、Mac、Linux 客户端、网页版本一体化的解决方案
  • 🎁 支持环境隔离、线上、日常数据权限分离

2. 下载安装

2-1. 官方最新版下载地址

DescriptionDownload
Windowshttps://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB%20Setup%202.0.1.exe
MacOS ARM64https://oss-chat2db.alibaba.com/release/2.0.1/Chat2DB-2.0.1-arm64.dmg
MacOS X64https://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

3. Windows版使用介绍

下载安装包Chat2DB Setup 2.0.1.exe后,直接安装即可,界面非常简洁清晰

3-1. 创建数据源

例如添加一个MySQL数据库数据源,点击MySQL即可

将连接信息填写,点击Test,测试通过,点击保存Save

注意: hosts可以直接输入IP地址,这里我做了本地的hosts解析

3-2.数据源管理操作

在数据库Connections中,可以看到已经添加的数据库实例清单,双击对应实例,即可进入到对应数据源管理界面

  • 操作管理界面

3-3. AI智能助手配置添加

使用前需要配置OpenAI的Api Key及本地代理配置

方式1:使用ChatGPT

方式1比较适合经常使用原生官方chat,有一定经验的老司机人员,否则建议跳过直接使用下面的方式2

  • 1、需要有一个openAI的key:OPENAI_API_KEY
  • 2、客户端网络可以连接到官网,国内需要科学上网。注意:如果本地VPN未能全局生效,可以通过在客户端中设置网络代理HOST和PORT来保证网络连通性

查看key:OPENAI_API_KEY方式:

信息配置:

  • Api Key 必填,需要输入自己查询到自己的Key
  • Api Host 选填,默认值为 https://api.openai.com
  • HTTP Proxy 一般代理都是在本地电脑启动 我这里是127.0.0.1
  • HTTP Proxy Prot 我的梯子代理端口为 1080 这里根据自己情况而定

方式1的好处是没有使用次数限制,缺点是网络上需要自己去实现打通
在这里插入图片描述

方式2:使用阿里提供的一个统一代理服务

  • 1、不需要openAI的key
  • 2、不需要代理,不需要VPN只要可以联网即可使用

官方为了方便大家更快速的使用AI的能力,可以关注微信公众号,回复"AI" 获得我们的自定义API_KEY,申请完成之后参考下图进行配置即可进行使用

  • 公众号信息

3-4. AI使用方式介绍

配置完毕后,使用方式将改变成只需要描写需求即可

0. 实验素材准备

表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', '皮甲');

两张表关系:

示例1:统计表wow_info的数据量

作为一个SQL开发人员,查询一张表数据量,会使用SQL语句

但作为销售或者不懂SQL的岗位,如今只需要在需求描述区域输入例如:查看wow_info表一共有多少条信息

即可获取到一样的结果

示例2:返回表wow_info一条样例数据

从示例2可以看到,需求描述可以多个条件结合

例如:附上SQL注释,返回一条wow_info的样例数据

示例3:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型

多表查询可以实现需求

需求:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型

如果实际使用场景中,你对反馈的结果不是很满意,可以补充条件来修正反馈的SQL,例如这个示例通过子查询来实现,但此时想用join来实现需求

需求:通过表game_gold中字段play_role_id匹配表wow_info,查看player01玩了哪些角色类型,,要求使用join实现

3-5.chat2DB-Dashboard使用介绍

chat2DB除可以AI智能SQL分析,还可以协助自动生成报表

例如,wow_info表中,字段:zhuangbei,代表装备类型,有布甲、皮甲、板甲等等

现在想去分析一下每种类型的占比情况

在Charts栏中可以选择不同的指标,实现不同维度的数据

例如目前纵坐标代表不同装备类型的总数count,可以在yAxis中改成percentage比例,则可以看到对应比例为30%|30%|40%

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Squid 缓存代理--反向代理

Squid 缓存代理–反向代理 反向代理:如果Squid反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端:否则反向代理服务器将向后台的WEB服务器请求资源,然后将请求的应答返回给客户端,同时也将应答缓…

VMware 虚拟磁盘格式

1.如果必须用FT , 只能选eagerzeroedthick 2.如果追求最佳应用性能不考虑空间占用 , 选eagerzeroedthick 3.如果希望最大成都的利用空间,并且对磁盘的增长是可控的,可以选thin格式 4.如果不希望空间的过量分配(oversubsribe)造…

OpenStack组件的基本使用

OpenStack组件的基本使用 Keystone命令行的方式项目用户角色 图形化界面方式项目用户角色 Glance命令行操作镜像上传下载管理镜像开放镜像权限转换镜像格式 图形化界面 Nova和Neutron命令行的方式实例类型密钥对安全组创建网络创建云主机启动关闭云主机 图形化界面创建实例类型…

【数据结构与算法】二叉树中从每个叶子结点到根结点的路径

题目 Qestion: 输出二叉树中从每个叶子结点到根结点的路径 数据结构与定义 #include <stdio.h> #include <stdlib.h>typedef struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right; } TreeNode;二叉树形状 核心代码 void LeafToRoot(TreeNod…

[网络安全提高篇] 一二一.恶意软件动态分析Cape沙箱Report报告的API序列批量提取详解

终于忙完初稿,开心地写一篇博客。 “网络安全提高班”新的100篇文章即将开启,包括Web渗透、内网渗透、靶场搭建、CVE复现、攻击溯源、实战及CTF总结,它将更加聚焦,更加深入,也是作者的慢慢成长史。换专业确实挺难的,Web渗透也是块硬骨头,但我也试试,看看自己未来四年究…

HIve中的查询语句

文章目录 Hive中的查询语句1. 基础语法2. 基本查询&#xff08;Select…From&#xff09;2.1 数据准备&#xff08;0&#xff09;原始数据&#xff08;1&#xff09;创建部门表&#xff08;2&#xff09;创建员工表&#xff08;3&#xff09;导入数据 2.2 全表和特定列查询1&am…

【对象存储】那些事

最近在某个项目中使用了对象存储。以前看过一个新闻&#xff1a;某公司的对象存储被盗刷&#xff0c;一夜之间账户欠费几十万&#xff01;我们这点小买卖可经不起这么折腾&#xff01;所以下功夫研究了下&#xff0c;防患于未然。 说到防盗刷&#xff0c;我们还得了解对象存储是…

Jmeter使用之:怎么编写扩展函数(二)

目录 前言&#xff1a; 1、实现function的类的package声明必须包含".functions" 2、需要继承org.apache.jmeter.functions.AbstractFunction&#xff0c;并且实现相应的方法。 第一步&#xff1a;eclipse 导入jmeter目录&#xff1a;apache-jmeter-2.13libext下的…

【SLAM学习】FAST-LIO配置

本文主要记录如何配置FAST-LIO Eigen库 Eigen库安装&#xff1a; sudo apt install libeigen3-dev 查看Eigen版本&#xff1a; $ pkg-config --modversion eigen3 PCL库 PCL库安装&#xff1a; sudo apt install libpcl-dev 也可以指定版本安装&#xff1a; sudo apt …

AVS3:角度加权预测AWP

在一般的视频编码标准中帧间预测有两种方式&#xff1a;单向预测和双向预测。一般是将图像划分为矩形&#xff08;正方形&#xff09;块然后到参考帧中去搜索和它最接近的块作为预测块&#xff0c;单向预测只有一个预测块&#xff0c;而双向搜索会有2个预测块&#xff0c;将2个…

基于Java医院住院综合服务管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

前端Vue自定义精美悬浮菜单按钮fab button 可设置按钮背景颜色 菜单按钮展开条目

前端Vue自定义精美悬浮菜单按钮fab button 可设置按钮背景颜色 菜单按钮展开条目,下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13321 效果图如下: # cc-suspensionMenu #### 使用方法 使用方法 <!-- scrollShow:是否显示滑动…

【Spark实战】Windows环境下编译Spark2 Linux上部署Spark On Yarn

Windows环境下编译Spark2 环境准备 git-2.14.1maven-3.9.2jdk-1.8scala-2.11.8zinc-0.3.15 主下载地址spark-2.3.4 github官方地址 编译准备 maven远程仓库使用的是阿里云的 解压源码包spark-2.3.4.zip,修改根模块的pom文件。主要目的是为了变更hadoop的版本号&#xff0c;…

飞控学习笔记-飞行器数学模型(2)

十字型模型 旋翼动力学 动力模型 电机模型 模型仿真 升力模型 力矩模型 反扭力 仿真

如何理解字符串不可变

字符串的不可变性: String类内部定义了 final char[ ] value ;数组用于存储字符串数据。 这里的value数组是通过final关键字修饰的,也就说字符串其实是一个常量,一旦在内存中申请出一个空间并且为其赋值之后这个空间中的字符串值就不可以修改了,将这个性质我们称之为不可变性。…

阿里云服务拆分部署

最近在工作中遇到需要将现网运行的服务拆分出一套&#xff0c;放置于本地机房&#xff0c;拆分服务运行有两种方案&#xff1a; 第一种是本地部署一个独立spring应用&#xff0c;业务上的要求是尽量隔离 第二种是采用阿里集群部署 采用第二种方案目前看是隔离度最高的

4.44ue4:相机抖动

1.创建相机抖动类 右键内容面板&#xff0c;点击创建蓝图类&#xff0c;搜索shake&#xff08;camera shake&#xff09; 2.使用相机抖动&#xff1a; 节点&#xff1a;play world .. api解释&#xff1a; epicenter&#xff1a;震源 inner Radius&#xff1a;内圈范围&a…

Git gui教程---第一篇 下载和安装

下载和安装 下载网址安装 下载网址 链接: 下载网址 有两种安装方式&#xff1a; 是用EXE的文件安装&#xff0c;我们用这个是便携版&#xff0c;好像是压缩包形式&#xff0c;没用过。 这是下载后的安装包文件&#xff0c;我的电脑是64位&#xff0c;所以下载的是64位。 安…

Unity2D横版游戏(深海潜水艇)

找到个挺有意思的小游戏Unity2D横版游戏&#xff08;深海潜水艇&#xff09; 这个也是曾经有段时间抖、音很火的一个小游戏。 鼠标左键点击让小艇上升 因为是unity开发的小游戏&#xff0c;可发布多个平台&#xff0c;有兴趣的拿去玩吧。 代码也是挺简单的 using UnityEngin…

【经典题目分析】数组分割问题

文章目录 698. 划分为k个相等的子集416. 分割等和数组 698. 划分为k个相等的子集 把一个数组&#xff0c;拆分成K个大小一样的子数组。方法可以是状态枚举&#xff0c;或者dfs class Solution { public:bool canPartitionKSubsets(vector<int>& nums, int k) {// 从…