mcpField
D
DuckDB CLI

DuckDB CLI

官方精选Agent-ready
github.com数据库与数据42.7kduckdb今天更新
代码仓库访问官网

关于 DuckDB CLI

DuckDB 是一个嵌入式 SQL 数据库引擎,无需安装服务器即可在本地运行。通过命令行界面可以直接查询 CSV、Parquet、JSON 等多种格式的文件,适合数据分析和探索工作流。

主要功能

  1. 01查询 CSV、Parquet、JSON 等本地文件格式
  2. 02执行分析性 SQL 查询并输出结果
  3. 03通过 -c 标志运行单行命令或脚本
  4. 04交互式 REPL 环境探索数据

适用场景

  1. 01Agent 快速分析和转换本地数据集
  2. 02编码 Agent 在工作流中查询结构化数据
  3. 03数据工程师原型设计数据处理管道
  4. 04开发人员检查和验证数据文件内容

安装

选择你的系统或包管理器,复制命令到终端运行。

$
brew install duckdb

安装完成后运行duckdb --version确认安装成功。

命令示例

常用命令按使用顺序排列。

01
duckdb
02
duckdb data.db
03
duckdb -c "select 42"

详细介绍

DuckDB 徽标

Github Actions 徽章 discord 最新版本

DuckDB

DuckDB 是一款高性能分析型数据库系统,旨在实现快速、可靠、可移植且易于使用。DuckDB 在应用程序进程内运行,无需管理独立服务,也不依赖外部组件。它还可以读取远程文件、查询其他数据库,并在需要时连接其他 DuckDB 实例。它提供丰富的 SQL 方言,支持远超基础 SQL 的功能:任意形式的嵌套相关子查询、窗口函数、排序规则和复杂类型(数组、结构体、映射)。易用 SQL 扩展加入了让查询更简短、更易编写的语法。

DuckDB 提供独立的命令行应用程序,并为 Python、R、Java、Rust、Go、Wasm 等更多平台提供客户端,还与 pandas 等软件包深度集成。

有关如何使用 DuckDB 的更多信息,请参阅 DuckDB 文档。

读写任意数据

DuckDB 可以直接从本地磁盘或 S3、HTTP(S)、Azure 和 Google Cloud Storage 等远程端点读写多种文件格式,包括 CSV、Parquet、JSON 和 Excel。对于 CSV、Parquet 和 JSON 等多种格式,只需在 FROM 子句中引用文件即可轻松加载数据:

SELECT * FROM 'myfile.csv';
SELECT * FROM 'myfile.parquet';

DuckDB 还支持开放的湖仓格式。DuckLake 将表元数据存储在 SQL 数据库中,而非元数据文件中,因此无需独立的目录服务,同时仍支持 ACID 事务、快照和时间旅行。DuckDB 还支持 Apache Iceberg 和 Delta Lake 格式。更多信息请参阅我们的数据导入部分。

连接到其他数据库

DuckDB 可以附加到其他数据库系统并就地查询数据,因此你可以跨引擎读取、联接和移动数据,而无需单独执行 ETL 步骤。它支持 PostgreSQL、MySQL 和 SQLite 的原生协议。

DuckDB 实例还可以通过 quack 协议相互连接,该协议可将一个 DuckDB 实例变为服务,让其他 DuckDB 客户端通过 HTTP 附加到该服务。

可扩展

DuckDB 采用模块化的扩展机制:核心扩展与 DuckDB 一同打包,而社区和第三方扩展可在运行时安装并加载。扩展可添加文件格式、数据库连接器、新函数、新类型等。

安装

如果你想安装 DuckDB,请参阅安装页面了解相关说明。

SQL 参考

文档中包含 SQL 入门与参考。

开发

开发 DuckDB 需要 CMake、Python 3 和符合 C++17 标准的编译器。在根目录中运行 make 以编译源代码。开发时,使用 make debug 可构建未优化的调试版本。进行更改后,应运行 make unit 和 make allunit,以验证版本是否正常工作。若要测试性能,可以运行 BUILD_BENCHMARK=1 BUILD_TPCH=1 make,然后在根目录中执行 ./build/release/benchmark/benchmark_runner,运行几项标准基准测试。基准测试详情请参阅基准测试指南。

另请参阅构建指南和贡献指南。

支持

请参阅支持选项页面以及专门的 endoflife.date 页面。

评论

支持 Markdown