开源免费的多数据库工具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.rhkb.cn/news/42546.html

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

相关文章

chatgpt赋能python:Python的就业前景——解析云计算与Python的结合

Python的就业前景——解析云计算与Python的结合 Python是一种高级编程语言,具有高度的可读性和简洁性,并已成为Web和大数据的主流语言之一。Python广泛应用于数据科学,机器学习,Web开发,游戏开发和金融等领域&#xf…

win10系统安装tensorflow

win10系统安装tensorflow 1 打开conda的cmd,用conda建个名字为tensorflow的毛坯房,并且这个毛坯房以后用到的唯一装修工具是python3.8。输入: conda create -n tensorflow python3.82 查看创建的虚拟环境 conda info --envs3 进入这个毛坯房…

【CAN卡通信的下位机-STM32cubeIDE-hal库+STMF4xx+数据发送和接收+中断接收方式+基础样例(2)】

【CAN卡通信的下位机-STM32cubeIDE-hal库STMF4xx数据发送和接收中断接收方式基础样例2】 1、概述2、实验环境3.1 问题描述3.2 问题已解4、自我尝试与努力(1)在网上查照相关配置文章,进行配置对比。(2)对比st的官方样例例程。(3)请教大佬,帮忙查看代码和…

使用langchain及llama_index实现基于文档(长文本)的相似查询与询问

文章目录 1. 引言2. 简介3. 带关键字的查询方案4. 不带关键字的总结询问5. 实现代码 1. 引言 在调用ChatGPT接口时,我们常常受到4096个字符(token)的限制。这种限制对于处理长文本或者需要对文档进行相似查询和询问的场景来说是一个挑战。然…

老胡周刊QA微信机器人(基于ChatGPT)

背景 先做个介绍吧,老胡的信息周刊是我从2021-08-16创立的周刊,截止到目前(2023-05-29)将近两年时间,目前已经有92期周刊,中间基本没有断更过,一共发布资源统计如下: 🎯 项目 288🤖 …

利用qt实现机器人可视化界面,并在界面上控制机器人各个关节运动

本工程借助于clion配置的qt环境,同时依赖eigen tinyxml2等开源库,也借鉴了博客上一些文章,具体哪些忘记了,十分抱歉。本工程仅供参考。机械臂模型为史陶比尔官网的TX2-60L-HB。可以去那下载对应的stp文件。 最终图: 通…

宝塔教程AI创作系统搭建详细教程

一、前言 众所周知,宝塔Linux面板是提升运维效率的服务器管理软件,经过200多个版本的迭代,功能全,少出错且足够安全,已获得全球百万用户认可安装。 优势: 使用宝塔前: 手工输入命令安装各类软…

PyQt报错:界面显示不全,QLayout: Attempting to add QLayout ““ to MyDesiger “Form“, which already has a layout

文章目录 1. 问题和解决2. 原因分析 一个折磨半天没有头绪的问题: 界面显示不全,而且报错 QLayout: Attempting to add QLayout "" to MyDesiger "Form", which already has a layout 1. 问题和解决 在一次将无 layout 的主界面UI…

timeROC出图时显示不全

右侧被占用 原因:Rstudio右下方的plots窗口太小 解决方法:向上向左增大窗口 Time_ROC代码 ####timeROC#### setwd("C:\\Users\\86189\\Desktop\\Time_ROC") #R包 #install.packages("timeROC") #install.packages("survival…

解决软件弹出对话框界面,内容显示不全问题(以OptiBPM为例)

系统环境:win10企业版 软件:OptiBPM9.0 问题阐述:如图所示,在win7系统环境下,Input Plane对话框中Expressior、Offset、Position下方会有输入框可供用户输入,但是在win10系统中无法点击。 解决办法&#…

微信小程序——解决wx.showToast()消息提示框内容显示不全问题

使用wx.showToast()方法,如果提示内容超出小程序规定的限制,则会出现显示不全问题 看到这,解决办法: 第一种:修改提示内容,按其规定的长度去展示 第二种:将其 icon的属性值设置成 none即可

dialog显示不全,布局显示不全,下边框显示不全,只显示一半的BUG

有问题的代码 RelativeLayout layout;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);layout findViewById( R.id.content);layout.setLayoutParams(new RelativeLayout.LayoutPar…

QToolTip太长显示不全的问题

有的文件名字太长了,Qtooptip也无法显示长度,可以将该Qlabel中设置QToolTip的样式如下, 设置QToolTip的宽度和高度,以及字体大小,这样就可以显示了。 QToolTip { font-size:12px; width:1024; height:40; } 效果…

sns解决显示不全不清晰及保存不全问题

import matplotlib.pyplot as plt import pandas as pd import seaborn as snsplt.figure(figsize(15, 10))sns.heatmap(data,cmapReds,annotTrue,fmtd).get_figure().savefig("temp.png",dpi500,bbox_inches tight) # fmt显示完全,dpi显示清晰&#xff…

计量语言学软件Altmann-Fitter阿尔特曼拟合器的使用简介(更新中)

计量语言学软件Altmann-Fitter阿尔特曼拟合器的使用简介 1、Altmann-Fitter是什么1.1 简介1.2 获得地址 2、使用说明2.1 数据文件的格式2.2 读取数据2.3 拟合说明2.3.1 读取数据2.3.2 选择模式2.3.3 拟合 2.4 指标说明2.4.1 卡方检验2.4.2 P值-probability level 3、使用反馈3.…

3an推客CPC怎么设置?3an推客推广效果怎么样

营销是商家一个关键的宣传方式,合理的营销可以让店铺获得大量的总流量,增加销量。在众多推广方式中,3an推客营销推广一直受到热烈欢迎,3an推客图文教程:CPC按点击设置流程 3an推客图文教程:CPC设置流程 登录3an推客后…

软件测试报告模板

1 测试项目概述 1.1 项目概述 xxx小程序项目是基于C/S架构的电商类应用系统,xx小程序作为客户端主要提供线上用户快捷的购物体验。该项目主要针对客户端(微信小程序)的测试,包含主页、商品分类、购物车及个人中心模块构成。 1.2 编写目的 本测试报告…

经典的风控授信流程与增信策略

今天我们来聊一聊信贷风控中策略流程,相信这也是很多童鞋感兴趣的内容。 每家公司的风控流程肯定存在着多多少少的差异,本文我们介绍最经典的策略流程,大家可以根据自己公司的业务情况进行调整。 介绍信贷风控流程,首先要了解信贷…

30多份软件测试报告模板,如何写一份优秀测试报告模板流程

相信很多做软件测试的小伙伴在软件测试后期,都为软件测试报告总结花费了很多的精力,那么如何做好软件测试报告呢?一份优秀的测试报告又包含哪些内容呢? 测试报告的核心要素 一、测试结论 从测试工程师的专业角度分析&#xff0…

【码住收藏】软件测试报告模板范文来了——优秀测试报告模板流程

一、软件测试报告是什么? 软件测试报告就是当软件开发人员开发出软件之后,在上市前交由测试人员进行一系列测试,再由测试人员对过程和结果的进行记录分析的一份文档。也是测试团队的工作成果展现,通过详细的记录测试内容&#xf…