小于博客 小于博客
首页
  • Java学习笔记
  • Docker专区
  • 实战教程
  • Shell
  • 内存数据库
  • Vue学习笔记
  • Nginx
  • Php
  • CentOS
  • Docker
  • Gitlab
  • GitHub
  • MySql
  • MongoDB
  • OpenVPN
  • 配置文件详解
  • Other
  • ELK
  • K8S
  • Nexus
  • Jenkins
  • 随写编年
  • 电影音乐
  • 效率工具
  • 博客相关
  • 最佳实践
  • 迎刃而解
  • 学习周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • 网站状态 (opens new window)
    • json2go (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

小于博客

行者常至,为者常成
首页
  • Java学习笔记
  • Docker专区
  • 实战教程
  • Shell
  • 内存数据库
  • Vue学习笔记
  • Nginx
  • Php
  • CentOS
  • Docker
  • Gitlab
  • GitHub
  • MySql
  • MongoDB
  • OpenVPN
  • 配置文件详解
  • Other
  • ELK
  • K8S
  • Nexus
  • Jenkins
  • 随写编年
  • 电影音乐
  • 效率工具
  • 博客相关
  • 最佳实践
  • 迎刃而解
  • 学习周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • 网站状态 (opens new window)
    • json2go (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Java学习笔记

  • Docker专区

  • Shell编程

  • 实战教程

    • git教程

    • idea教程

    • linux教程

    • markdown教程

    • maven教程

    • 数据库部分

      • 数据库代码汇总
      • 阿里巴巴开源 Chat2DB v1.0.11 初体验
        • 1.什么是 Chat2DB
        • 2.下载安装
        • 3.安装配置
        • 4.配置数据源
        • 5.准备测试数据
        • 6.认识几个功能菜单
        • 7.自然语言转 SQL
        • 8.SQL 解释
    • 电脑操作

  • 内存数据库

  • Vue学习笔记

  • 编程世界
  • 实战教程
  • 数据库部分
小于博客
2024-01-20
目录

阿里巴巴开源 Chat2DB v1.0.11 初体验

作为一名阿里巴巴开源项目的拥护者,从 Chat2DB 开源至今都有关注这个开源项目。因为之前的版本还存在较多 Bug,暂时就没有分享。目前升级到 v1.0.11 版本后,我来谈谈我个人的一个使用感受。

# 1.什么是 Chat2DB

Chat2DB 是一款有开源免费的多数据库客户端工具,支持 Windows、MAC 本地安装,也支持服务器端部署,Web 网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比 Chat2DB 集成了 AIGC 的能力,能够将自然语言转换为 SQL,也可以将 SQL 转换为自然语言,可以给出研发人员 SQL 的优化建议,极大地提升人员的效率,是 AI 时代数据库研发人员的利器。未来即使不懂SQL的运营业务也可以使用快速查询业务数据、生成报表能力。

# 2.下载安装

项目 Releases 地址: https://github.com/alibaba/Chat2DB/releases

大家根据自己的电脑环境选择对应版本即可,博主这里使用的 MacOS X64(Intel芯片)版本。

# 3.安装配置

正常双击打开拖动到 Applications 进行安装,安装完成后配置 Chat2DB AI SQL 功能。找到设置,填写 Open AI 的密钥(登录 OpenAI 官网,右上角View API keys 创建即可)。

创建完成后,在设置中输入刚刚获取的 OpenAI 密钥。 至此,我们已经完成了基础的配置,下面我们来感受一下 Chat2DB。 Chat2DB 初体验

# 4.配置数据源

这里以 MySQL 为例,点击加号(+)新建数据源。

填写相关链接信息,选择数据库,这里 test 为例: 目前 MAC 版本选择了数据库 test,但是实际上依旧还是将整个 localhost 的所有数据库列出来了。这是个已知 Bug,博主也提交了 Issue,建议官方不选择数据库默认所有,指定了数据库就单独显示某个库。

# 5.准备测试数据

这里博主准备了一份测试数据表,分别是:科目表、学生成绩表、学生信息表、学生选修科目表,大家可以复制执行即可。

SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for course-- ----------------------------DROP TABLE IF EXISTS `course`;CREATE TABLE `course` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '科目ID',  `name` varchar(50) NOT NULL COMMENT '科目名称',  `teacher` varchar(50) NOT NULL COMMENT '授课教师',  `credit` int NOT NULL COMMENT '科目学分',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='科目表';-- ------------------------------ Records of course-- ----------------------------BEGIN;INSERT INTO `course` VALUES (1, '语文', '张老师', 100);INSERT INTO `course` VALUES (2, '数学', '王老师', 100);COMMIT;-- ------------------------------ Table structure for score-- ----------------------------DROP TABLE IF EXISTS `score`;CREATE TABLE `score` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '成绩ID',  `student_id` int NOT NULL COMMENT '学生ID',  `course_id` int NOT NULL COMMENT '科目ID',  `score` int NOT NULL COMMENT '成绩',  PRIMARY KEY (`id`),  KEY `student_id` (`student_id`),  KEY `course_id` (`course_id`),  CONSTRAINT `score_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`),  CONSTRAINT `score_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生成绩表';-- ------------------------------ Records of score-- ----------------------------BEGIN;INSERT INTO `score` VALUES (1, 1, 1, 90);INSERT INTO `score` VALUES (2, 1, 2, 95);INSERT INTO `score` VALUES (3, 2, 1, 100);INSERT INTO `score` VALUES (4, 2, 2, 99);COMMIT;-- ------------------------------ Table structure for student-- ----------------------------DROP TABLE IF EXISTS `student`;CREATE TABLE `student` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '学生ID',  `name` varchar(50) NOT NULL COMMENT '学生姓名',  `gender` varchar(10) NOT NULL COMMENT '学生性别',  `birthday` date NOT NULL COMMENT '学生生日',  `address` varchar(100) NOT NULL COMMENT '学生住址',  `phone` varchar(20) NOT NULL COMMENT '学生联系方式',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生信息表';-- ------------------------------ Records of student-- ----------------------------BEGIN;INSERT INTO `student` VALUES (1, '小明', '男', '2023-06-16', '广州', '13724889158');INSERT INTO `student` VALUES (2, '小羊', '女', '2023-06-16', '广州', '13800126000');COMMIT;-- ------------------------------ Table structure for student_course-- ----------------------------DROP TABLE IF EXISTS `student_course`;CREATE TABLE `student_course` (  `id` int NOT NULL AUTO_INCREMENT COMMENT '关系ID',  `student_id` int NOT NULL COMMENT '学生ID',  `course_id` int NOT NULL COMMENT '科目ID',  PRIMARY KEY (`id`),  KEY `student_id` (`student_id`),  KEY `course_id` (`course_id`),  CONSTRAINT `student_course_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `student` (`id`),  CONSTRAINT `student_course_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生选修科目表';-- ------------------------------ Records of student_course-- ----------------------------BEGIN;INSERT INTO `student_course` VALUES (1, 1, 1);INSERT INTO `student_course` VALUES (2, 1, 2);INSERT INTO `student_course` VALUES (3, 2, 1);INSERT INTO `student_course` VALUES (4, 2, 2);COMMIT;SET FOREIGN_KEY_CHECKS = 1;
1

# 6.认识几个功能菜单

当你选择好对应的数据库表后,你会发现有这么 4 个菜单:

自然语言转 SQL:简单来说就是 使用中文描述,软件自动帮我们生成 SQL; SQL 解释:SQL 语句转中文解释(有的时候我们会遇到非常复杂的 SQL,有的甚至成百上千行的SQL,要读懂这段 SQL 语句可能需要几个小时甚至几天时间。 通过 Chat2DB就可以快速了解这段 SQL 的含义) 有的时候我们写了一段 SQL 性能不好,Chat2DB 也可以帮我们优化 SQL,提升查询性能 不同数据库 SQL 语法有略微的差异,也可以通过 Chat2DB 让它帮我们去转换这个 SQL 的语法(比如 MySQL 转 SQLServer 语句) 开始测试

# 7.自然语言转 SQL

终端输入查询学生小明的各科目成绩,包括科目名称、教师名字段,点击自然语言转 SQL。 在弹出的选择表中选择本次查询所涉及到的几个表:course、score、student。 最终生成如下:

# 8.SQL 解释

那么,我们使用这段生成的 SQL 语句反过来看看 Chat2DB 会帮我们解释成什么。选中生成的 SQL 点击 SQL 解释,输出如下:

上次更新: 2024/02/03, 13:17:04

← 数据库代码汇总 VirtualBox下Centos7配置静态IP→

最近更新
01
SpringBoot 快速实现 api 加密!
03-21
02
SpringBoot整合SQLite
03-07
03
SpringBoot配置使用H2数据库的简单教程
02-21
更多文章>
Theme by Vdoing | Copyright © 2017-2024 | 点击查看十年之约 | 豫ICP备2022014539号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式