基于人工智能的数据库工具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.hqwc.cn/news/316710.html

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

相关文章

【算法系列 | 11】深入解析查找算法之—插值查找

序言 心若有阳光,你便会看见这个世界有那么多美好值得期待和向往。 决定开一个算法专栏,希望能帮助大家很好的了解算法。主要深入解析每个算法,从概念到示例。 我们一起努力,成为更好的自己! 今天第11讲,讲…

计算机毕业论文内容参考|基于区块链技术的电子健康记录系统的设计与实现

文章目录 摘要前言绪论课题背景国内外相关研究课题内容区块链技术介绍系统分析用户需求分析系统设计系统实现系统测试总结与展望摘要 本文介绍了基于区块链技术的电子健康记录系统的设计与实现。该系统旨在解决传统电子健康记录系统存在的数据安全性、数据隐私性和数据互操作性…

[⑤Meson]: Build Options构建选项

前言 在2023年末新学习了The Meson build构建系统,作为新一代的构建系统,用起来也非常的“时髦”。在构建代码项目时,可能会有不同编译选项或者数据变量,在编译前由使用者自行根据实际情况选择,Meson提供了一个option…

Qt第一个UI程序设计

在第一个Qt程序的基础上我对ui界面进行设计,点击设计按钮 然后 拖动Label按钮输入想要输入的语句。 运行结果如下图。

快速打通 Vue 3(一):基本介绍与组合式 API

很激动进入了 Vue 3 的学习,作为一个已经上线了三年多的框架,很多项目都开始使用 Vue 3 来编写了 这一组文章主要聚焦于 Vue 3 的新技术和新特性 如果想要学习基础的 Vue 语法可以看我专栏中的其他博客 Vue(一):Vue 入…

Elasticsearch:如何使用 Elasticsearch 进行排序

虽然你在唱这首歌时可能会想象圣诞老人,但欧洲民间传说,尤其是阿尔卑斯地区的民间传说,有两个传奇人物圣尼古拉斯和坎普斯。 象征着慷慨和善良的圣尼古拉斯,在 12 月 6 日 为乖巧的孩子们带来礼物和欢乐! 相比之下&…

SpringBoot 项目如何生成 swagger 文档

推荐使用 springdoc-openapi 的理由 1、springdoc-openapi 是 spring 官方出品,与 springboot 兼容更好(springfox 兼容有坑) 2、springdoc-openapi 社区更活跃,springfox 已经 2 年没更新了 3、springdoc-openapi 的注解更接近 …

linux常见基础指令

入门常见基础指令 ls、stat、 pwd 、cd、tree、 whoami、 touch、 mkdir、 rm 、 man、 cp、mv、cat、tac、echo、>、 >>、 < 、more、 less、 head、 tail、date、 cal、 find、 which、alias、whereis、grep、zip与unzip、 tar、bc、uname、xargs... 热键Tab、…

学校安全:这个门禁监控技术,速来码住!

在当今社会&#xff0c;随着城市化的加速和科技的飞速发展&#xff0c;安全问题日益引起人们的关注。在这个背景下&#xff0c;门禁监控系统作为一种重要的安全管理工具&#xff0c;正扮演着越来越关键的角色。 门禁监控系统作为一种先进的安全管理工具&#xff0c;不仅提供了对…

CRM系统如何实现市场销售管理?CRM系统有哪些营销功能

CRM管理系统中的营销管理模块&#xff0c;它的锋芒常被销售管理所掩盖&#xff0c;但对于企业的业务来说同样重要。营销部门虽然不像销售人员一样直接面对客户&#xff0c;却是挖掘线索、商机的重要角色。CRM在市场营销领域的关键功能包括&#xff1a;营销漏斗、客户细分、营销…

xadmin-plus

python之Xadmin-plus是什么&#xff1f; xadmin-plus: xadmin的django3.2版本支持。 Xadmin是一个非常优秀的Django Admin插件&#xff0c;可惜的是已经停止更新。Xadmin-plus对其进行了升级兼容。支持python3.10、Django3.2。 特性 Django Admin直接替换基于Twitter Boots…

YoloV7改进策略:AAAI 2024 最新的轴向注意力|即插即用,改进首选|全网首发,包含数据集和代码,开箱即用!

摘要 https://arxiv.org/pdf/2312.08866.pdf 本文提出了一种名为Multi-scale Cross-axis Attention(MCA)的方法,用于解决医学图像分割中的多尺度信息和长距离依赖性问题。该方法基于高效轴向注意力,通过计算两个平行轴向注意力之间的双向交叉注意力,更好地捕获全局信息。…