一个连接,每个表面
你的 DuckDB 数据可以去哪里
- 1 出站连接
- 0 入境口岸
- 只读 · 凭据保留
运行
- 为您的团队、供应商和合作伙伴
-
在 Excel 插件 · 按需刷新
-
谷歌工作表 附加组件 · 按需刷新
-
新星人工智能 用简单的英语提问 · 文本转 SQL
-
数据查看器 分享实时结果 · 团队、供应商、合作伙伴 · 任何设备
- 对于应用程序和系统
-
REST API JSON 端点 · OpenAPI 3.1
-
Power BI Power Query M
-
计划同步 Google Sheets · Airtable · Baserow · SeaTable · Smartsheet · Anvil
- 人工智能工具
-
人工智能助手 Claude · Cursor · MCP 服务器
- 已送达
-
警报和报告 Slack · Discord · 电子邮件 · Webhook
Query Streams 直接从 Microsoft Excel、Google Sheets、Power BI、通过 MCP 连接的 AI 助手以及 REST 端点读取 DuckDB 文件,无需运行任何服务器,也无需在其他任何地方加载任何内容。该引擎嵌入在代理程序中,因此磁盘上的 .duckdb 文件就是数据库。您的 SQL 语句会原封不动地传递给 DuckDB,这意味着用户选择 DuckDB 时真正需要的功能——例如 GROUP BY ALL、QUALIFY、SELECT * EXCLUDE、列表和结构体访问——都能正常工作,而不会被简化成某种最低限度的通用形式。
- 为您的团队、供应商和合作伙伴
-
DuckDB 到 Excel 微软 Excel · Excel 加载项
将 DuckDB 的实时结果直接导入工作表,并可按需刷新——支持桌面版 Excel、Excel Online 和 Microsoft 365。
DuckDB 指南 -
「Anvil.works Snowflake 集成 – 自动同步实时数据库数据」的说明 表格插件
从侧边栏运行已保存的 DuckDB 查询,并将结果行拖放到工作表中。共享协作者可以自行刷新工作表。
DuckDB 指南 -
向 Nova 询问有关 DuckDB 的问题 Nova AI · 文本转 SQL
用简单的英语提问。Nova 已经了解你的 DuckDB 表,会自动编写并运行 SQL 语句,解释答案并绘制图表——无需编写查询语句,也无需提供任何凭据。
Nova 的工作原理 -
DuckDB 到数据查看器 结果共享 · 团队、供应商、合作伙伴 · 手机、平板电脑、台式机
您可以与任何人(同事、供应商、合作伙伴)共享实时 DuckDB 查询结果,以可收藏的网格形式呈现,无论在手机、平板电脑还是台式机上打开,都会自动重新加载。他们看到的是查询结果,而不会看到 SQL 代码或凭据。
数据查看器的工作原理 - 对于应用程序和系统
-
DuckDB REST API HTTP 端点
将 DuckDB 查询发布为任何应用程序都可以调用的已认证 JSON 端点,符合 OpenAPI 3.1 规范,并预置了 Postman、Insomnia 和 Hoppscotch 集合。无需打开数据库端口。
DuckDB 指南 -
DuckDB 到 Power BI Power Query M
将生成的 Power Query M 粘贴到 Power BI 高级编辑器中,报表即可通过 HTTPS 读取 DuckDB 的实时结果——无需 ODBC 驱动程序,也无需打开数据库端口。
Power BI 的工作原理 -
DuckDB 到 Airtable 自动化平台
按计划将 DuckDB 行同步到 Airtable,或者在 Airtable 自动化脚本中获取它们。
DuckDB 指南 -
DuckDB 到 Baserow 自动化平台
通过 REST 端点从 DuckDB 向 Baserow 表提供数据——无论是自托管还是 Baserow 云。
DuckDB 指南 -
从 DuckDB 到 SeaTable 自动化平台
无需导出文件或公开数据库,即可使用 DuckDB 数据保持 SeaTable 数据库的最新状态。
DuckDB 指南 -
DuckDB 到 Smartsheet 自动化平台
将 DuckDB 结果推送到 Smartsheet 网格中,以便计划和报告能够从源系统读取数据,而不是从上周的导出数据读取数据。
DuckDB 指南 -
从 DuckDB 到 Anvil Anvil Works · 应用平台
通过 REST 端点将 DuckDB 集成到 Anvil Python 应用程序中,而不是将数据库凭据嵌入到应用程序中。
DuckDB 指南 - 人工智能工具
-
DuckDB MCP 服务器 Claude、Cursor 和 MCP 客户端
赋予 AI 助手对 DuckDB 的只读访问权限,并提供它编写正确 SQL 所需的架构——聊天中无需提供凭据。
DuckDB 指南 - 已送达
-
DuckDB 警报和报告 Slack · Discord · 电子邮件 · Webhook
将 DuckDB 查询添加到计划中,并将查询结果发送到 Slack、Discord、电子邮件或签名 webhook,或者等到行数、阈值或百分比变化超过您设定的界限时才发送消息。
警报和报告的工作原理
工作原理
5 个步骤,无需更改入站防火墙规则
在存放文件的机器上安装网络代理。无需搭建 DuckDB 服务器,也无需打开端口——引擎已集成在代理中。
将其指向本地磁盘或机器可以访问的共享位置上的 .duckdb、.db 或 .ddb 文件。
代理会读取文件中的表和视图,并记录列类型,以便查询构建器和 Nova 在您编写任何内容之前就知道结构。
编写 DuckDB SQL,或者描述你的需求,让 Nova 来生成。整个过程中不会进行任何转换。
从 Microsoft Excel、Google Sheets、Power BI、MCP 或 REST 读取已保存的查询,如果需要,可将其连接到其他连接。
专题深度解析
DuckDB 能给你带来什么?
一个恰好是文件的分析引擎
DuckDB 采用列式存储和向量化设计,简单来说,就是它能在笔记本电脑上流畅地聚合数百万行数据。这使得它成为一种既奇特又实用的工具,可以集成到电子表格中。
- 没有服务器,没有服务,没有端口。该文件即数据库,引擎运行在读取该文件的代理程序内部。
- 聚合操作在 DuckDB 中完成,就在存储文件的机器上。通过网络传输的是聚合结果。 通常是几亿行中的几百行。
- 这是数据管道的自然终点:有人从 Parquet 或 CSV 构建 .duckdb,公司其他部门就可以在不涉及数据仓库的情况下读取这些数据。
- 视图和表都会被列出,因此,如果一个文件的有用表面是一组精心挑选的视图,那么就可以像查询视图一样查询该文件,而不是像查询其原始表一样查询该文件。
您的 DuckDB SQL 语句,未经修改直接传递。
代理程序上没有翻译层。您保存的语句就是 DuckDB 接收到的语句,因此方言的优点得以保留,而非近似翻译。
- GROUP BY ALL 和 ORDER BY ALL 可以消除分析查询中的大部分繁琐工作。
- 当您需要排除某个无人需要的列之外的所有列时,可以使用 SELECT * EXCLUDE (col) 和 SELECT * REPLACE (...)。
- QUALIFY,因此可以对窗口函数进行过滤,而无需将整个函数包装在子查询中。
- 完整的窗口函数、CTE 和列表推导式 — DuckDB 的方言,而不是它的可移植子集。
-- DuckDB SQL,引擎执行的语句与代码完全一致:SELECT * EXCLUDE (internal_id) FROM ( SELECT region, product, sum(amount) AS revenue, internal_id, row_number() OVER (PARTITION BY region ORDER BY sum(amount) DESC) AS rk FROM sales GROUP BY ALL ) QUALIFY rk <= 3 ORDER BY region, revenue DESC
嵌套列以 JSON 格式传入。
DuckDB 的类型系统比电子表格单元格更丰富,因此在构建报表之前,了解每个数据点对应的位置是很有必要的。
- STRUCT、LIST、MAP 和 UNION 列以 JSON 文本形式返回。 — 可读、可解析,且不会悄无声息地截断成错误的内容。
- BLOB 列采用 base64 编码而不是删除。
- 日期、时间戳、带时区的时间戳和十进制时间戳均按原样接收,因此数字仍然是数字,四舍五入仍然是您自己的操作。
- 司机确实无法表示的任何内容都会在单元格中标记为无法表示,而不是显示为空白,您需要仔细查看才能发现。
每个数据库连接器共享
适用于所有数据库连接器
- 仅限出站 — 代理程序会打开一个加密连接到查询流。无需转发入站端口,无需 VPN,无需 IP 允许列表,您的数据库信息不会暴露在互联网上。
- 凭证保留 — 数据库用户名和密码存储在您安装代理的计算机上。Query Streams 永远不会收到这些信息,也无法自行访问您的数据库。
- 只读,强制执行 ——一次只执行一条语句,仅限 SELECT 及其相关语句。写入操作会在发送到服务器之前就被本地机器拒绝,而不是依赖于其他人设置的权限。
- 部署任意数量的代理 每个站点、区域或云端只需一个代理。所有数据源都显示在同一个下拉菜单中,因此无需了解哪个代理托管哪些数据源。
查询保存后您将获得什么?
- 分享的是能力,而不是 SQL — 同事或外部合作伙伴可以运行您的查询并更改其筛选条件,而无需查看其背后的语句。
- 双向过滤 — 您可以自己将它们声明为 @variables,或者让连接器发现 WHERE 子句中已有的字面值,并将其作为下拉列表提供。
- 随时随地阅读 — Microsoft Excel、Google Sheets、Power BI、REST API、MCP 上的 AI 助手、查询生成器和 Nova 都读取同一个已保存的查询。
- 同时运行多个程序 — 将五个已保存的查询分别保存到五个工作表标签中,同时进行流式传输,无论结果有多大。
- 将其连接到您已连接的任何其他内容 — 用一条只读语句访问另一个数据库、业务 API 或文件文件夹。
跨源 SQL
将 DuckDB 连接到你的其余数据
一条语句可以同时连接 DuckDB 和其他数据库。每个数据库只运行它能够处理的部分,并将结果流式传输回来,连接操作则在中心位置集中完成——各个数据库之间互不通信,也不会复制任何数据。
3 个连接 · 3 个代理
一份声明
——没有任何复制、合并或安排操作。
选择 c.region,COUNT(*) AS orders,SUM(i.amount_due) AS invoiced
从 分析.main.orders1 f
连接 pg_crm.public.customers2 c ON c.id = f.customer_id
连接 计费.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.区域
ORDER BY 发票上的描述;
这三个部分分别是连接、模式和表——连接名称就是你给它起的任何名字。这里用列举例说明;你的表就是你自己的表。所有部分都采用只读模式:仅支持 SELECT、WITH 和 EXPLAIN 语句,并且对单个查询中每个数据源可以传输的数据量有限制。 联合查询的工作原理
连接详情
DuckDB需要什么
- 你指着什么
- 代理程序运行所在机器上的一个 .duckdb、.db 或 .ddb 文件
- 小路
- 本地路径,或者机器可以访问的 UNC 共享路径——本地磁盘速度更快
- 引擎
- DuckDB 1.4.4 已嵌入代理程序中。无需安装、启动或保持运行。
- 港口
- 没有。没有可连接的 DuckDB 服务器,所以没有什么可以打开的。
- 对象
- 文件中的表格和视图
- SQL方言
- DuckDB SQL 直接按您编写的方式传递给引擎——没有转换层
- 只读
- 语句执行前已检查——仅限 SELECT、WITH 及其相关语句
- 嵌套类型
- STRUCT、LIST、MAP 和 UNION 返回 JSON 文本;BLOB 返回 base64 编码。
- 模式
- DuckDB 的默认模式是 main,这也是联合引用所携带的模式。
DuckDB 通常出现在流程的末端,而非起点。有人会用 Parquet 导出文件或一堆 CSV 文件构建一个文件,将其整理成问题所需的格式,然后发现需要答案的人都在使用 Microsoft Excel。通常的下一步是为已经可以装进磁盘的文件搭建一个存储库。而这个连接器提供了另一种选择:文件无需移动,直接让电子表格读取它。
类型映射是需要重点规划的部分。STRUCT 或 LIST 是真正的 DuckDB 数据,没有对应的电子表格类型,因此它们以 JSON 文本的形式呈现——虽然这种形式真实且可解析,但它不是可以进行求和的数字。如果报表需要用到嵌套列,应该在查询中展开嵌套列,而不是在目标位置展开,因为 DuckDB 可以更高效地完成这项工作。
对于跨源查询,DuckDB 的默认模式是 main,因此,您调用 analytics 连接读取仓库文件时,其模式会被写入 analytics.main.sales。有趣的地方就在这里——一个包含完整历史记录的分析文件,通过一条语句与仍在不断更新的运营数据库和计费 API 连接起来。
供应商文档: duckdb.org
常问问题
关于 DuckDB 的问题
哪些工具可以通过查询流读取 DuckDB 数据?
所有这些工具,只需一次连接即可使用:Excel、Google Sheets、MCP、REST API、Airtable、Baserow、SeaTable、Smartsheet、Anvil、Power BI、定时提醒和报表。只需连接一次数据库,所有平台都使用同一个只读连接——无需为每个工具单独设置,也无需创建数据副本。
我是否需要为我的 DuckDB 数据库打开防火墙端口?
不。Query Streams 网络代理运行在您的网络内部,并打开一个单独的出站加密连接。它不会监听入站流量,无需 VPN,数据库也会保留其现有的防火墙规则。
查询流可以更改 DuckDB 中的数据吗?
不。代理在执行时强制执行只读模式——一次只执行一条语句,仅限 SELECT 及其相关语句。凭据保留在代理上,绝不会发送到查询流。
Query Streams 需要什么才能连接到 DuckDB?
一个可访问的主机、一个角色及其密码——代理程序自带驱动程序,因此无需在数据库上安装任何内容。您需要指向的内容:代理程序运行所在机器上的一个 .duckdb、.db 或 .ddb 文件。路径:本地路径或机器可访问的 UNC 共享路径——本地磁盘速度更快。引擎:DuckDB 1.4.4,已嵌入代理程序中。无需安装、启动或持续运行任何程序。端口:无。无需访问 DuckDB 服务器,因此无需打开任何端口。
我可以在同一个查询中将 DuckDB 连接到另一个数据库吗?
是的——这就是联合查询。一条语句可以同时引用 DuckDB 和其他连接,格式为 connection.schema.table。每个数据源只运行它能够处理的部分,并将结果流式传输回来;连接操作在中心进行,因此数据源之间不会相互连接,也不会进行任何复制或调度。所有部分(SELECT、WITH 和 EXPLAIN)都采用只读模式,并且单个数据源在单次查询中可以传输的数据量有限制。联合查询是计划功能;联合查询页面会显示当前的数据源和大小限制。

