开源免费的多数据库工具Chat2DB

Chat2DB v1.0.11使用

当前使用的版本为1.0.11,目前已经更新到2.0.1版本。

一.Chat2DB介绍

Chat2DB 是一款开源免费的多数据库客户端工具。
能够将自然语言转换为SQL,也可以将SQL转换为自然语言。
支持windows、mac本地安装,也支持服务器端部署,web网页访问。
支持多种数据库:MySQL,PostgreSQL,Oracle,DB2,ClickHouse,OceanBase,Redis,Hive,MongoDB等

Chat2DB地址
github地址

二.下载安装

根据实际情况选择对应版本下载安装即可。
下载地址

三.配置

1.创建连接

前提:本地或远程先启动数据库

根据实际情况创建数据库连接
在这里插入图片描述
填写连接信息,点击“测试连接”按钮,若连接无问题则点击“连接”按钮。
在这里插入图片描述

2.数据库初始化

# 根据实际情况进行修改
# 这里修改mysql配置my.ini文件,然后启动数据库
[mysql]
default-character-set=utf8mb4[mysqld]
character-set-server=utf8mb4 
character_set_database=utf8mb4
collatior-server=utf8_general_ci

mysql中创建chat-db库,并创建表及插入数据

show charset;
SHOW VARIABLES LIKE 'character%';
show variables like 'collation_%';
show databases;
-- 可设置字符集
set names utf8mb4;
set character_set_database=utf8mb4;
set character_set_server=utf8mb4;
set collation_database=utf8mb4_general_ci;drop database if exists chat_db;
create database chat_db default charset 'utf8mb4' COLLATE 'utf8mb4_general_ci';DROP TABLE IF EXISTS chat_db.student_course;
DROP TABLE IF EXISTS chat_db.score;
DROP TABLE IF EXISTS chat_db.course;
DROP TABLE IF EXISTS chat_db.student;-- 学生表
CREATE TABLE chat_db.student (id INT PRIMARY KEY 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 '学生联系方式'
) COMMENT '学生信息表';-- 科目表:
CREATE TABLE chat_db.course (id INT PRIMARY KEY AUTO_INCREMENT COMMENT '科目ID',name VARCHAR(50) NOT NULL COMMENT '科目名称',teacher VARCHAR(50) NOT NULL COMMENT '授课教师',credit INT NOT NULL COMMENT '科目学分'
) COMMENT '科目表';-- 学生选修科目表:
CREATE TABLE chat_db.student_course (id INT PRIMARY KEY AUTO_INCREMENT COMMENT '关系ID',student_id INT NOT NULL COMMENT '学生ID',course_id INT NOT NULL COMMENT '科目ID',FOREIGN KEY (student_id) REFERENCES student(id),FOREIGN KEY (course_id) REFERENCES course(id)
) COMMENT '学生选修科目表';-- 学生成绩表:CREATE TABLE chat_db.score (id INT PRIMARY KEY AUTO_INCREMENT COMMENT '成绩ID',student_id INT NOT NULL COMMENT '学生ID',course_id INT NOT NULL COMMENT '科目ID',score INT NOT NULL COMMENT '成绩',FOREIGN KEY (student_id) REFERENCES student(id),FOREIGN KEY (course_id) REFERENCES course(id)
) COMMENT '学生成绩表';delete from chat_db.student;
insert into chat_db.student(`name`,`gender`,`birthday`,`address`,`phone`) values 
('张三','男','2000-01-01','北京','12345678901'),('李四','男','2001-02-01','北京2','12345678902'),('王五','女','2002-05-01','上海','12345678903');delete from chat_db.course;
insert into chat_db.course(name,teacher,credit) values ('数据库','张老师',4),('大数据','李老师',4),('云计算','王老师',4);delete from chat_db.student_course;
insert into chat_db.student_course(student_id,course_id) 
select a.id,b.id from chat_db.student a , chat_db.course b
;delete from chat_db.score;
insert into chat_db.score(student_id,course_id,score) 
select a.student_id,a.course_id, (a.student_id+a.course_id)*12  from chat_db.student_course a;
;

3.配置

配置方式

填写完成后,点击应用
在这里插入图片描述

四.使用

1.自然语言转SQL语句

点击库名,右键“新建查询”出现如下功能。
在这里插入图片描述
选择文本如“查询张三的云计算成绩”,点击“自然语言转SQL”。
在这里插入图片描述
选择表如下,点击“确认”。
在这里插入图片描述
自动生成sql语句如
在这里插入图片描述

--- BEGIN ---
查询张三的云计算成绩
--- 自然语言转换 ---
SELECT score 
FROM score 
JOIN student ON score.student_id = student.id 
JOIN course ON score.course_id = course.id 
WHERE student.name = '张三' 
AND course.name = '云计算'
--- END --- 

选择sql语句,点击执行
在这里插入图片描述

2. SQL解释

选中一段sql,点击SQL解释。
在这里插入图片描述
在这里插入图片描述
这里执行了两次
第一次附加信息:解释SQL的目的
第二次附加信息:解释SQL查询的目的
结果分别如下

在这里插入图片描述

3. SQL优化

选中SQL语句,点击“SQL优化”。

在这里插入图片描述
填写附加信息,点击“确认”。
在这里插入图片描述
执行结果

在这里插入图片描述
相同的附加条件,第二次执行结果

在这里插入图片描述

4. SQL转换

选中上述SQL,点击“SQL转换”。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


--- BEGIN ---
SELECT score 
FROM score 
JOIN student ON score.student_id = student.id 
JOIN course ON score.course_id = course.id 
WHERE student.name = '张三' 
AND course.name = '云计算'
--- SQL转换 ---
db.score.aggregate([{$lookup: {from: "student",localField: "student_id",foreignField: "id",as: "student"}},{$unwind: "$student"},{$lookup: {from: "course",localField: "course_id",foreignField: "id",as: "course"}},{$unwind: "$course"},{$match: {"student.name": "张三","course.name": "云计算"}},{$project: {score: 1}}
])
--- END --- 

Chat2DB v2.0.1

从V2.0.0版本开始已经自带有demo库

自带有DEMO库

在这里插入图片描述
这里连接demo里的MySQL库

设置更新

在这里插入图片描述

仪表盘

在这里插入图片描述

输入文本,生成sql语句

如输入:“查询成绩表”。则出现如下语句,点击“执行”按钮,显示结果如下。
在这里插入图片描述

其他Text2sql介绍

能将自然语言描述转化成对应的SQL查询语句的技术。

1.Chat2Query

Chat2Query地址
Chat2Query不仅可以帮助用户在没有广泛SQL知识的情况下生成SQL查询,还可以处理复杂的查询并提供对动态数据集的实时洞察。

2.OSSInsight

OSSInsight地址
GitHub Data Explorer地址
OSSInsight 是一款功能强大的洞察工具,可帮助人们深入分析单个 GitHub 仓库/开发人员,使用相同的指标比较任意两个仓库,并提供全面、有价值和有趋势的开源洞察。

3. AI2sql

AI2sql官网
AI2sql使用地址
一款SQL 生成器,可使非工程师在不了解 SQL 的情况下也能编写高效的 SQL 查询。
支持MySQL,SQL Server,PostgreSQL,Oracle PL/SQL,
NoSQL-Pandas,MongoDB,BigQuery,MariaDB,Redshift,SnowSQL。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 从入门到精通【进阶篇】之高可用哨兵机制(Redis Sentinel)详解

文章目录 0.前言1. 原理详解1.1. 哨兵机制的组建1.1. 哨兵是如何知道从库的信息 1.2. 主库下线的判定1.3. 哨兵集群选举1.4. 故障的转移 2. 总结3. Redis从入门到精通系列文章4. Redis哨兵模式面试题4. 1. 什么是Redis的哨兵模式?4. 2. 哨兵模式的优点是什么&#x…

TinyML4.3.3 拆分数据

将TinyML4.3.2 生成数据(Create Sin)文章中创建的1000个样本点数据拆分为训练集、验证集、测试集,其中训练集占60%,验证集占20%,测试集占20%。 新建一个cell,编辑代码: #Well use 60% of our data for training and …

ADManager Plus:企业自动化管理的利器

在当今数字化时代,企业管理面临着越来越多的挑战。为了提高效率、降低成本并确保信息安全,自动化管理成为了企业的首要选择。而在众多自动化管理工具中,ADManager Plus无疑是一款卓越的解决方案。本文将为您介绍ADManager Plus的功能与优势&a…

【QT/OpenCV】QT实现张正友相机标定

相机标定 01、相机标定02、OpenCV函数及其张正友标定法2.1、相机标定步骤2.2、相机标定相关函数2.2.1 提取角点--- findChessboardCorners2.2.2 亚像素角点提取1--- find4QuadCornerSubpix2.2.3 亚像素角点提取2--- cornerSubPix2.2.4 绘制内角点 --- drawChessboardCorners2.2…

微信小程序第六节——个体账号如何实现用户自定义内容

📌 微信小程序第一节 ——自定义顶部、底部导航栏及获取胶囊位置信息。 📌 微信小程序第二节 —— 微信小程序第二节 —— 自定义组件。 📌 微信小程序第三节 —— 页面跳转的那些事儿。 📌 微信小程序第四节 —— 网络请求那些事…

前端videojs实现m3u8格式的直播

一、安装 npm install --save-dev video.js 二、引入 import videojs from "video.js"; import "video.js/dist/video-js.css"; 三、template 由于此处客户需要全屏至指定框大小,而不是全屏整个屏幕所以没用插件自带的全屏控件 隐藏自带全屏…

利用 Elasticsearch、ESRE、LLM 和 LangChain 加速制药行业的研发 — 第 1 部分

作者:Valerio Arvizzigno, Dimitri Marx, Francesco Di Stefano 这是一篇通过生成式 AI/LLM、自定义模型和 Elasticsearch 相关性引擎 (ESRE​​) 支持制药行业更快的药物创新和发现的综合指南。更快的药物发现带来有前途的候选药物是制药行业的主要目标。 为了支持…

三、学习分类 - 基于图像大小进行分类

天下一半剑仙是我友 谁家娘子不娇羞 我以醇酒洗我剑 谁人说我不风流 1 设置问题 根据图片的尺寸,把图片分为纵向图像和横向图像。这种把图像分成两种类别的问题,就是二分类问题。 纵向图片示例: 横向图片示例: 这样就有了两个…

jmeter列表数据断言

在jmeter接口请求中,通常需要根据接口data列表有无返回的数据断言是接口请求成功,如图1, 通常有这么几种方法: beanshell断言 json断言 响应断言 图1: 失败请求:{"code":0,"msg"…

Android自动化测试之Monkey

目录 一、Monkey与Android SDK之间的关系 二、环境配置 三、正式测试 四、报错分析 五、总结 本来是做Web后端的,来公司实习变成微信小程序前端了,到这周变成Android APP测试人员了,也是微醺啊。 由于对手工测试终究是有些抵触&#xff…

OpenCV 入门教程: Sobel算子和Scharr算子

OpenCV 入门教程: Sobel 算子和 Scharr 算子 导语一、Sobel 算子二、Scharr 算子三、示例应用3.1 图像边缘检测3.2 边缘增强 总结 导语 在图像处理和计算机视觉领域,边缘检测是一项重要的任务。 Sobel 算子和 Scharr 算子是两种常用的边缘检测算子&…

Pinia学习笔记 | 入门 - 映射辅助函数

文章目录 Pinia学习笔记简介Pinia是什么 代码分割机制案例1.挂载PiniaVue3Vue2:安装PiniaVuePlugin插件 2.定义store的两种方式options API 和 composition API使用options API模式定义使用composition API模式 2.业务组件对store的使用创建store实例解构访问Pinia容…