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库,并创建表及插入数据
showcharset;SHOW VARIABLES LIKE'character%';show variables like'collation_%';showdatabases;-- 可设置字符集set names utf8mb4;set character_set_database=utf8mb4;set character_set_server=utf8mb4;set collation_database=utf8mb4_general_ci;dropdatabaseifexists chat_db;createdatabase chat_db defaultcharset'utf8mb4'COLLATE'utf8mb4_general_ci';DROPTABLEIFEXISTS chat_db.student_course;DROPTABLEIFEXISTS chat_db.score;DROPTABLEIFEXISTS chat_db.course;DROPTABLEIFEXISTS chat_db.student;-- 学生表CREATETABLE chat_db.student (
id INTPRIMARYKEYAUTO_INCREMENTCOMMENT'学生ID',
name VARCHAR(50)NOTNULLCOMMENT'学生姓名',
gender VARCHAR(10)NOTNULLCOMMENT'学生性别',
birthday DATENOTNULLCOMMENT'学生生日',
address VARCHAR(100)NOTNULLCOMMENT'学生住址',
phone VARCHAR(20)NOTNULLCOMMENT'学生联系方式')COMMENT'学生信息表';-- 科目表:CREATETABLE chat_db.course (
id INTPRIMARYKEYAUTO_INCREMENTCOMMENT'科目ID',
name VARCHAR(50)NOTNULLCOMMENT'科目名称',
teacher VARCHAR(50)NOTNULLCOMMENT'授课教师',
credit INTNOTNULLCOMMENT'科目学分')COMMENT'科目表';-- 学生选修科目表:CREATETABLE chat_db.student_course (
id INTPRIMARYKEYAUTO_INCREMENTCOMMENT'关系ID',
student_id INTNOTNULLCOMMENT'学生ID',
course_id INTNOTNULLCOMMENT'科目ID',FOREIGNKEY(student_id)REFERENCES student(id),FOREIGNKEY(course_id)REFERENCES course(id))COMMENT'学生选修科目表';-- 学生成绩表:CREATETABLE chat_db.score (
id INTPRIMARYKEYAUTO_INCREMENTCOMMENT'成绩ID',
student_id INTNOTNULLCOMMENT'学生ID',
course_id INTNOTNULLCOMMENT'科目ID',
score INTNOTNULLCOMMENT'成绩',FOREIGNKEY(student_id)REFERENCES student(id),FOREIGNKEY(course_id)REFERENCES course(id))COMMENT'学生成绩表';deletefrom chat_db.student;insertinto chat_db.student(`name`,`gender`,`birthday`,`address`,`phone`)values('张三','男','2000-01-01','北京','12345678901'),('李四','男','2001-02-01','北京2','12345678902'),('王五','女','2002-05-01','上海','12345678903');deletefrom chat_db.course;insertinto chat_db.course(name,teacher,credit)values('数据库','张老师',4),('大数据','李老师',4),('云计算','王老师',4);deletefrom chat_db.student_course;insertinto chat_db.student_course(student_id,course_id)select a.id,b.id from chat_db.student a , chat_db.course b
;deletefrom chat_db.score;insertinto chat_db.score(student_id,course_id,score)select a.student_id,a.course_id,(a.student_id+a.course_id)*12from 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。
版权归原作者 xcSpark 所有, 如有侵权,请联系我们删除。