Repolode
columnar-tech

columnar-tech/databow

一个命令行工具,通过 ADBC 驱动执行 SQL 查询,支持交互式终端和结果导出。

可替代:DBeaver

Star
299
Fork
19
未关闭 Issue
9
最近提交
7天前

这是什么?

databow 是一个通过 Apache ADBC(Arrow Database Connectivity)查询数据库的命令行客户端。只要数据库有兼容的 ADBC 驱动,就能用同一个工具连接,不必为每种数据库单独安装客户端。项目示例以 DuckDB 为主,驱动通过 dbc 工具安装。

它提供带命令历史和 SQL 语法高亮的交互式 SQL 终端,查询结果以对齐的表格输出,列宽会根据内容自动调整。也支持非交互模式,可以从命令行参数、标准输入或 SQL 文件读取查询语句并直接执行。

查询结果可以导出为 JSON、JSON Lines、CSV、Arrow IPC 或 Parquet 文件。连接参数可通过 --driver、--uri、--username、--option 等选项指定,也可以使用保存的连接配置文件。项目使用 Rust 编写,可通过 uv、Cargo 或 Homebrew 安装。

核心功能

  • 01可连接任何提供兼容 ADBC 驱动的数据库。
  • 02带命令历史和语法高亮的交互式 SQL 终端。
  • 03支持从参数、标准输入或 SQL 文件执行查询后退出。
  • 04可将结果导出为 JSON、JSON Lines、CSV、Arrow IPC 或 Parquet 文件。
  • 05支持连接配置文件和驱动专用选项。

适用场景

  • 在终端中查询本地 DuckDB 文件或内存数据库。
  • 在 shell 管道或 CI 任务中执行 SQL 脚本。
  • 将查询结果导出为 CSV 或 Parquet 用于后续分析。
  • 用同一个命令行客户端访问多种数据库。

快速上手

  1. 1

    使用 uv 安装 databow

    uv tool install databow
  2. 2

    使用 dbc 安装 DuckDB ADBC 驱动

    dbc install duckdb
  3. 3

    启动交互式命令行,连接内存中的 DuckDB

    databow --driver duckdb

使用前须知

  • 查询每种数据库前都需要另外安装对应的 ADBC 驱动。

收录于专题

标签

常见问题

databow 是什么?
一个命令行工具,通过 ADBC 驱动执行 SQL 查询,支持交互式终端和结果导出。 databow 是一个通过 Apache ADBC(Arrow Database Connectivity)查询数据库的命令行客户端。只要数据库有兼容的 ADBC 驱动,就能用同一个工具连接,不必为每种数据库单独安装客户端。项目示例以 DuckDB 为主,驱动通过 dbc 工具安装。
databow 可以免费使用吗?用的什么许可证?
databow 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
databow 还在维护吗?
活跃维护中。databow 最近一次提交是在 2026年10月15日。
databow 适合用来做什么?
在终端中查询本地 DuckDB 文件或内存数据库。 在 shell 管道或 CI 任务中执行 SQL 脚本。 将查询结果导出为 CSV 或 Parquet 用于后续分析。 用同一个命令行客户端访问多种数据库。
databow 怎么安装和运行?
使用 uv 安装 databow: uv tool install databow 使用 dbc 安装 DuckDB ADBC 驱动: dbc install duckdb 启动交互式命令行,连接内存中的 DuckDB: databow --driver duckdb
在哪里获取 databow?
源代码和安装说明在 GitHub 上:https://github.com/columnar-tech/databow

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目