SQLTools 允许代理运行 SQL 查询并与数据库进行交互。
以下示例需要 sqlalchemy
库和数据库 URL。
您还需要安装要使用的特定数据库的相应 Python 适配器。
对于 PostgreSQL,您可以安装 psycopg2-binary
适配器:
对于 MySQL,您可以安装 mysqlclient
适配器:
mysqlclient
适配器可能需要额外的系统级依赖。请查阅官方安装指南了解更多详情。
您还需要一个数据库。以下示例使用在 Docker 容器中运行的 Postgres 数据库。
以下代理将运行一个 SQL 查询来列出数据库中的所有表,并描述其中一个表的内容。
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
db_url | str | - | 用于连接数据库的 URL。 |
db_engine | Engine | - | 用于连接和操作的数据库引擎。 |
user | str | - | 数据库认证的用户名。 |
password | str | - | 数据库认证的密码。 |
host | str | - | 数据库服务器的主机名或 IP 地址。 |
port | int | - | 数据库服务器正在监听的端口号。 |
schema | str | - | 要使用的数据库中的特定 schema。 |
dialect | str | - | 数据库使用的 SQL 方言。 |
tables | Dict[str, Any] | - | 一个将表名映射到其各自元数据或结构的字典。 |
list_tables | bool | True | 启用列出数据库中所有表的功能。 |
describe_table | bool | True | 启用描述特定表模式的功能。 |
run_sql_query | bool | True | 启用直接执行 SQL 查询的功能。 |
函数 | 描述 |
---|---|
list_tables | 列出数据库中的所有表。 |
describe_table | 描述特定表的模式。 |
run_sql_query | 直接执行 SQL 查询。 |