基于人工智能的数据库工具Chat2DB使用

文章目录

    • 前言
    • Chat2DB介绍
      • Chat2DB地址
      • 下载安装
    • Chat2DB配置
    • Chat2DB使用
      • 1、自然语言转sql
      • 2. SQL解释
      • 3. SQL优化
      • 4. SQL转换
    • 写在最后

前言

随着人工智能的发展,各行各业都出现了不少基于AI的工具来提升工作效率。就连国内的各个大厂也都在基于大模型开发自己的产品线,比如百度、阿里、网易、字节等等。今天我们就来分享一款AIGC生成式人工智能数据库客户端工具,虽然功能不多,但是足以让数据库小白直接上升为操作小能手。

Chat2DB介绍

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

Chat2DB地址

github地址
https://github.com/chat2db/Chat2DB

下载安装

根据实际情况选择对应版本下载安装即可。
下载地址
https://sqlgpt.cn/en

下载完成后直接运行exe,按步骤进行安装完成
在这里插入图片描述

Chat2DB配置

1、打开客户端
在这里插入图片描述

2.选择mysql创建连接
前提:本地或远程先启动数据库
根据实际情况创建数据库连接
在这里插入图片描述

填写连接信息,点击“Test”按钮,若连接无问题则点击“Save”按钮。

3、ai能力配置
客户端设置中默认会填写custom ai的apikey
这个可以是基于chat2db的,当然有能力的可以选择openai进行测试,前提需要科学上网和apikey
我们这里直接选择chat2db即可,能能够达到良好的效果
在这里插入图片描述

4.数据库初始化
选择查看数据库列表,选择我们刚刚连接的本地数据库进行测试

在这里插入图片描述

双击本地数据库进入并创建一个console来执行我们初始化语句

-- chat_db数据库
drop database if exists chat_db;
create database chat_db default charset 'utf8mb4' COLLATE 'utf8mb4_general_ci';-- 学生表
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 '学生信息表';
insert into chat_db.student(`name`,`gender`,`birthday`,`address`,`phone`) values 
('张三','男','2000-01-01','北京','12345678901'),('李四','男','2001-02-01','北京2','12345678902'),('王五','女','2002-05-01','上海','12345678903');-- 科目表:
DROP TABLE IF EXISTS chat_db.course;
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 '科目表';
insert into chat_db.course(name,teacher,credit) values ('数据库','张老师',4),('大数据','李老师',4),('云计算','王老师',4);-- 学生选修科目表:
DROP TABLE IF EXISTS chat_db.student_course;
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 '学生选修科目表';
insert into chat_db.student_course(student_id,course_id) 
select a.id,b.id from chat_db.student a , chat_db.course b;-- 学生成绩表:
DROP TABLE IF EXISTS chat_db.score;
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 '学生成绩表';
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;

在这里插入图片描述

执行 语句完成测试数据初始化。

Chat2DB使用

点击库名,右键“查询”出现如下功能。
在这里插入图片描述

除了常规的数据库操作,我们还可用的AI功能:

自然语言转sql:输入一段文字,工具直接可以翻译为sql语句
转化sql:将当前sql语句转为其他工具的语句,比如mysql转mongodb
解释sql: 输入一段sql语句可以解释代表什么意思
优化sql:输入一段sql语句可以提出常见的优化方案,并提出具体优化的点

1、自然语言转sql

选择文本如“查询张三的云计算成绩”,点击“自然语言转SQL”。
在这里插入图片描述

a、填入需要转换sql的语句,这里直接写“查询张三的云计算成绩”
b、手动选择涉及的表,我为了放了全部选了
c、点击转换即可生成如下的文本
根据提供的表结构和SQL输入,可以使用以下SQL查询来获取张三的云计算成绩:

SELECT s.score
FROM student AS st
JOIN score AS s ON st.id = s.student_id
JOIN course AS c ON c.id = s.course_id
WHERE st.name = '张三' AND c.name = '云计算';

d、运行sql查询出结果分数为48分。

2. SQL解释

选中一段sql,点击解释SQL
在这里插入图片描述

结果如下:
这个SQL查询语句的目的是从数据库中获取学生"张三"在课程"云计算"中的成绩。 首先,使用INNER JOIN将"score"表与"student"表连接,连接条件是"score"表中的"student_id"列与"student"表中的"id"列相等。这样可以获取到学生的相关信息。 然后,再使用INNER JOIN将上一步得到的结果与"course"表连接,连接条件是"score"表中的"course_id"列与"course"表中的"id"列相等。这样可以获取到课程的相关信息。 接下来,使用WHERE子句来筛选结果,只保留学生姓名为"张三"且课程名称为"云计算"的记录。 最后,SELECT语句选择"score"表中的"score"列作为结果,即获取到了"张三"在"云计算"课程中的成绩。

3. SQL优化

选中SQL语句,点击“SQL优化”
在这里插入图片描述

结果如下:
优化建议如下: 1. 索引优化:确保student表和course表的name字段上都有索引,以加快查询速度。 2. 调整连接顺序:根据数据量和索引情况,可以尝试将student表放在第一位进行连接,以减少连接操作的数据量。 3. 子查询优化:可以考虑使用子查询来替代多个表的连接操作,以减少连接操作的数量。 4. 预编译语句:如果该SQL语句会被频繁执行,可以考虑使用预编译语句,以提高执行效率。 5. 缓存查询结果:如果该SQL语句的结果不经常变动,可以考虑将查询结果缓存起来,以减少对数据库的频繁查询。 6. 数据库优化:可以对数据库进行性能优化,如调整缓冲区大小、优化查询计划等,以提高整体查询性能。 请根据具体情况选择适合的优化方法,并进行测试和评估,以确定最佳的优化方案。

4. SQL转换

选中上述SQL,点击“SQL转换”,但是并未达到预期效果。如果需要这个功能,建议在设置中接入opanai。

写在最后

Chat2DB 是一款有开源免费的多数据库客户端工具,集成了AIGC 生成式人工智能。其主要功能包括自然语言转sql、优化sql、转化sql、解释sql等功能,是一个真正意义上减轻劳动和提高效率的一款大模型数据库客户端工具。

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

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

相关文章

大公司里怎样开发和部署前端代码?

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello,大家好,我是 Sunday。 昨天的时候有同学问到前端部署相关的内容,正好在知乎中看到…

Flask入门教程

Flask入门教程 简介 Flask是由Armin ronacher于2010年用Python语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。 特点 Flask只提供核心功能,其他几乎所有的功能都需要用到拓展,比如可以通过Flask-SQLAlchemy拓展对数据库进行操作等等。 核心 由…

基于双向LSTM模型完成文本分类任务

6.4.1 数据处理 IMDB电影评论数据集是一份关于电影评论的经典二分类数据集.IMDB 按照评分的高低筛选出了积极评论和消极评论,如果评分 ≥7≥7,则认为是积极评论;如果评分 ≤4≤4,则认为是消极评论.数据集包…

“ManageEngine荣获Gartner SIEM客户选择四连冠“

我们非常激动地宣布,ManageEngine已经连续第四次被认定为Gartner Peer Insights‘Voice of the Customer’:安全信息与事件管理(SIEM)中的客户选择。这不仅是对我们卓越SIEM解决方案承诺的肯定,也延续了ManageEngine在…

检测和缓解僵尸网络

僵尸网络源自“机器人网络”一词,是感染了恶意软件的网络或机器集群,允许黑客控制并发起一系列攻击。僵尸网络的强度完全取决于它所包含的受感染机器的数量。攻击者接管这些设备的操作,以使用僵尸网络命令和控制模型进行远程控制。 什么是僵…

K线+直线 现货黄金也可能变现

现货黄金行情怎么做,这是投资者需要思考的问题。幸运的是,现在市面上有很多书籍,是其他有经验、有想法的投资者们对其经验的总结和分享,此外网络上还有不同的文章和各种各样的视频介绍相关交易经验,这都是可以让我们借…

22款奔驰GLE450升级香氛负离子 车载香薰

相信大家都知道,奔驰自从研发出香氛负离子系统后,一直都受广大奔驰车主的追捧,香氛负离子不仅可以散发出清香淡雅的香气外,还可以对车内的空气进行过滤,使车内的有害气味通过负离子进行过滤,达到车内保持清…

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt)

前端根据URL地址实现下载(txt,图片,word,xlsx,ppt) 一、对于txt,图片类的二、对于word,xlsx,ppt类的1.a标签可以实现下载2. window.open() 一、对于txt,图片类…

aliexpress商品API(item_get-获得aliexpress商品详情):进行批量操作

使用AliExpress的店铺或分类API:这些API可以为你提供某个店铺或分类下的所有商品列表,然后你可以根据这个列表逐个查询商品详情。分批查询:你可以将商品ID分成多个批次,每次只查询一部分商品详情,这样既可以减少每次请…

记录一个常量定义导致的重复问题duplicate symbol ‘_kk‘ in:

原因: 在.h文件中定义了一个常量 如下 NSString *const kk "FASDF";interface CardCourseViewController : LBBaseViewControllerend将这句代码去掉即可 NSString *const kk "FASDF";![请添加图片描述](https://img-blog.csdnimg.cn/direct…

买工业用品就找震坤行,提供震坤行商品数据,数据分析的API接口

要接入API接口以采集电商平台上的商品数据,可以按照以下步骤进行: 1、找到可用的API接口:首先,需要找到支持查询商品信息的API接口。这些信息通常可以在电商平台的官方文档或开发者门户网站上找到。 2、注册并获取API密钥&#x…

什么是差值表达式

在Vue.js中,差值表达式是一种基本的数据绑定形式,用于将数据绑定到文档对象模型(DOM)上。差值表达式通常使用双大括号 {{ }} 来表示,这种语法非常直观。当Vue实例的数据发生变化时,差值表达式的内容也会相应…

CCNP课程实验-06-EIGRP-Trouble-Shooting

目录 实验条件网络拓朴 环境配置开始排错错误1:没有配置IP地址,IP地址宣告有误错误2:R3配置了与R1不同的K值报错了。错误3:R4上的AS号配置错,不是1234错误4:R2上配置的Key-chain的R4上配置的Key-chain不一致…

LCR 155. 将二叉搜索树转化为排序的双向链表

解题思路: 中序遍历法(二叉搜索树在中序遍历时是从小到大排列的)。 // 打印中序遍历 void dfs(Node root) {if(root null) return;dfs(root.left); // 左System.out.println(root.val); // 根dfs(root.right); // 右 }采用head作为返回&am…

跑步中位数

title: 跑步中位数 date: 2024-01-04 15:47:51 tags: 对顶堆 catefories: 算法进阶指南 题目大意 解题思路 动态维护中位数问题。可以建立两个二叉堆,一个大顶堆一个小顶堆,在依次读入整数序列的过程中,设当前序列长度为 M M M,我们始终保持…

中国5米分辨率坡度数据

中国5米分辨率坡度数据 坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平距离的比值称为坡度。坡度的表示方法有百分比法、度数法、密位法和分数法四种,其中以百分比法和度数法较为常用。 中国5米分辨率坡度数据集,利用5米分辨率DEM数据…

借还款记账表,借款还款记账软件

我们每个人都在为生活奔波,为事业打拼。但有时候,生活中的一些小事情,比如朋友间的借贷、还款,就可能让我们的生活变得有些混乱。为了解决这个问题,一个全新的借还款记账软件【晨曦记账本】横空出世,它不仅…

如何实现APP安全加固?加固技术、方法和方案

​ 本文我们着重分享App安全加固的相关内容。 ​ (安全检测内容) 通过前面的文章我们知道了app安全检测要去检测哪些内容,发现问题后我们如何去修复?如何避免安全问题?首先我们先来讲一下APP安全加固技术。 Ipa Guar…

pinia 给 state 指定变量类型

pinia 给 state 指定变量类型 问题描述 自从用 vitetsvue3 以来,我一直有一个很大的疑问,就是 pinia 中的 state 变量类型该从哪定义,如何定义它? 因为我在使用未定义类型的 state 变量的时候一直会有一个提示,提示说…

免费搭建知识付费平台:让知识更有价值

明理信息科技知识付费saas租户平台 在当今的知识经济时代,一个高效、便捷的知识服务平台对于企业和个人至关重要。然而,市面上的众多知识服务平台中,许多产品存在高昂的费用、无用功能的堆砌、无法定制化等问题,让用户进退两难&…