Утилита командной строки для запросов к базам данных через ADBC.
Возможности
-
Поддержка нескольких СУБД — подключайтесь к любой базе данных при наличии совместимого драйвера ADBC
-
Интерактивная SQL-оболочка — выполняйте SQL-запросы с историей команд и удобной навигацией
-
Подсветка синтаксиса — SQL-запросы выделяются цветом для лучшей читаемости
-
Форматированный вывод — результаты отображаются в аккуратных выровненных таблицах с динамической шириной столбцов
-
Экспорт в файл — сохраняйте результаты запросов в форматах JSON, CSV или Arrow IPC
-
Высокая скорость и компактность — написан на Rust для максимальной производительности при минимальном потреблении ресурсов
Начало работы
Установите драйвер ADBC для DuckDB с помощью dbc:
dbc install duckdb
Интерактивный режим
Подключение к DuckDB (в памяти):
databow --driver duckdb
Выполнение SQL-запросов:
> 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 │
└─────────┴───────────┴────────────────┴───────────────┴───────────────────┴─────────────┴────────┴──────┘
Неинтерактивный режим
Выполнить запрос напрямую и выйти:
databow --driver duckdb --query "SELECT 42 AS the_answer"
Выполнить запрос из стандартного ввода и выйти:
echo "SELECT 42 AS the_answer" | databow --driver duckdb
Выполнить запрос из файла и выйти:
databow --driver duckdb --file select_example.sql
Выполнить запрос и сохранить результат в файл:
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.json
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 --help
Query databases via ADBC
Usage: databow [OPTIONS]
Options:
--profile <profile> Connection profile name or path
--driver <driver> Driver name (required if --profile not specified)
--uri <uri> Database uniform resource identifier
--username <username> Database user username
--password <password> Database user password
--option <option> Driver-specific database option
--mode <mode> Table display style [default: utf8-compact]
--query <query> Execute query and exit
--file <file> Read and execute file and exit
--output <file> Write result to file
-h, --help Print help
-V, --version Print version
Лицензия
Проект распространяется под лицензией Apache-2.0.