Dify 插件介绍 - database 插件:轻松查询数据库数据的利器

在这里插入图片描述

插件简介

Database插件是由开发者hjlarry开发的一款实用工具,当前(2025/4/10)版本为0.0.4,已在GitHub上开源。这款插件的主要功能是让用户能够方便地在现有数据库中执行SQL查询,并获取多种格式的数据结果。

核心功能

Database插件提供了三大核心功能:

  1. SQL执行工具:直接运行SQL查询语句
  2. 文本转SQL工具:将自然语言转换为有效的SQL查询
  3. 端点工具:通过URL请求获取数据

使用方法

1. 数据库连接配置

首先需要配置数据库连接URI,支持多种数据库类型:

# MySQL示例
mysql+pymysql://root:123456@localhost:3306/test

# PostgreSQL示例
postgresql+psycopg2://postgres:123456@localhost:5432/test

# SQLite示例
sqlite:///test.db

# SQL Server示例
mssql+pymssql://<username>:<password>@<freetds_name>/?charset=utf8

# Oracle示例
oracle+oracledb://user:pass@hostname:port[/dbname][?service_name=<service>[&key=value&key=value...]]

重要提示:插件运行在Docker容器中,localhost指的是Docker内部网络,建议使用host.docker.internal替代。

2. 执行SQL查询

使用SQL Execute工具可以直接查询数据库数据。输出格式可以通过OUTPUT FORMAT参数指定,支持多种格式:

  • json(默认,输出到工作流节点的json变量)
  • md(输出到text变量)
  • 其他格式(csv、yaml、xlsx、html等)会生成文件并输出到files变量

3. 文本转SQL功能

Text to SQL工具可以将用户的自然语言输入转换为有效的SQL查询。如果指定了TABLES字段,则只会将这些表的结构信息传入LLM上下文。

4. 通过URL获取数据

可以通过HTTP请求从端点获取数据:

curl -X POST 'https://daemon-plugin.dify.dev/o3wvwZfYFLU5iGopr5CxYmGaM5mWV7xf/sql' \
-H 'Content-Type: application/json' \
-d '{"query":"select * from test", "format": "md"}'

安全注意事项

重要安全提示:sql_execute工具可以运行任何SQL查询,为了增强安全性,建议始终使用只读数据库账户进行连接。

总结

Database插件是一个功能强大且灵活的工具,特别适合需要频繁从数据库查询数据的开发者和数据分析师。它支持多种数据库类型和输出格式,并且提供了自然语言转SQL的智能功能,大大提高了工作效率。


项目地址:https://github.com/hjlarry/dify-plugin-database