columnar-tech /databow

A command-line tool for querying databases

★ 299⑂ 20👁 2⑃ 25● 26▤ 8◈ 0
RustApache-2.0Created 2026-01-30databow.sh
299
stars
20
forks
2
watchers
25
prs
26
issues
8
releases
0
discussions

README

databow






A command-line tool for querying databases via ADBC.



 Highlights

- Multi-database support - Connect to any database with a compatible ADBC driver
- Interactive SQL shell - Execute SQL queries with command history and intuitive navigation
- Syntax highlighting - SQL queries highlighted for improved readability
- Formatted output - Results displayed in clean, aligned tables with dynamic column width
- File export - Export query results to JSON, JSON lines, CSV, Arrow IPC, or Parquet files
- Fast and lightweight - Built in Rust for high performance and minimal resource usage

 Installation

Install with uv:

sh
uv tool install databow


Install with Cargo:

sh
cargo install databow


Install with Homebrew:

sh
brew install columnar-tech/tap/databow


 Getting Started

Install the DuckDB ADBC driver with dbc:

sh
dbc install duckdb


 Interactive Usage

Connect to DuckDB (in-memory):

sh
databow --driver duckdb


Execute SQL queries:


 CREATE TABLE penguins AS FROM 'https://blobs.duckdb.org/data/penguins.csv';
┌───────┐
│ Count │
├───────┤
│ 344   │
└───────┘
 SELECT 
. FROM penguins
. LIMIT 5;
┌─────────┬───────────┬────────────────┬───────────────┬───────────────────┬─────────────┬────────┬──────┐
│ species │ island    │ bill_length_mm │ bill_depth_mm │ flipper_length_mm │ body_mass_g │ sex    │ year │
├─────────┼───────────┼────────────────┼───────────────┼───────────────────┼─────────────┼────────┼──────┤
│ Adelie  │ Torgersen │ 39.1           │ 18.7          │ 181               │ 3750        │ male   │ 2007 │
│ Adelie  │ Torgersen │ 39.5           │ 17.4          │ 186               │ 3800        │ female │ 2007 │
│ Adelie  │ Torgersen │ 40.3           │ 18            │ 195               │ 3250        │ female │ 2007 │
│ Adelie  │ Torgersen │ NA             │ NA            │ NA                │ NA          │ NA     │ 2007 │
│ Adelie  │ Torgersen │ 36.7           │ 19.3          │ 193               │ 3450        │ female │ 2007 │
└─────────┴───────────┴────────────────┴───────────────┴───────────────────┴─────────────┴────────┴──────┘


 Non-interactive Usage

Execute a query directly and exit:

sh
databow --driver duckdb --query "SELECT 42 AS the_answer"


Execute a query from stdin and exit:

sh
echo "SELECT 42 AS the_answer" | databow --driver duckdb


Execute a query from a file and exit:

sh
databow --driver duckdb --file select_example.sql


Execute a query and output the result to a file:

sh
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.json
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.jsonl
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.csv
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.arrow
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.arrows
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.parquet


 Reference

console
$ databow --help
Query databases via

Top issues

Latest release

v0.2.0 v0.2.0 2026-10-14
What's Changed
 docs: remove --pre from dbc install clickhouse by @ianmcook in https://github.com/columnar-tech/databow/pull/25
 docs: add Homebrew installation instructions by @esadek in https://github.com/columnar-tech/databow/pull/28
 feat: infer driver from URI scheme by @esadek in https://github.com/columnar-tech/databow/pull/29
 docs: add chdb example by @esadek in https://github.com/columnar-tech/databow/pull/30
 docs: add presto example by @esadek in https://github.com/columnar-tech/databow/pull/31
 feat: show info on repl startup by @esadek in https://github.com/columnar-tech/databow/

Snapshot: 2026-11-11T21:00:35Z · Data license Apache-2.0 · JSON