DuckDB
A DuckDB client that belongs on a Mac.
DuckDB is built in. Open a DuckDB file, or point the app at a CSV, TSV, Parquet or JSON file — or a folder of them — and query it with SQL. Files on your own Mac are local, so it is free.
Free for the databases on your Mac. Pricing
What DuckDB gets.
The kinds of object that exist on an engine are the kinds the app shows. This is DuckDB's row of the features table, and what stands behind it.
| Engine | Editable grid | Designers | Users & Roles | Diagram |
|---|---|---|---|---|
| DuckDB and CSV files | ✓ | ✓tables, sequences | — | ✓ |
Query a file as a table
Point the Data File tile at a CSV, TSV, Parquet or JSON file, or at a folder of them, and query it with SQL. The file is read again on every query, so an edit to it shows up on the next run.
Guide: opening filesA file is a connection
The app reads the first bytes before it trusts the name, so a DuckDB file called backup.db opens as DuckDB. Opening the same file again selects its connection rather than making a second one.
Tables and sequences, designed
The table designer retypes a column with ALTER COLUMN … TYPE … USING, so values are cast, and its script runs in a transaction. DuckDB cannot add or drop foreign keys, and the designer says so.
Copy tables in from a server
Drag a table from another connection onto a DuckDB database and the app writes the CREATE in DuckDB's dialect and copies the rows, listing every column type that had to change.
Guide: copy objects between enginesConnect to DuckDB.
Drop a DuckDB file on the window or on the Dock icon, double-click it in Finder, or use File ▸ Open… (⌘O). For a CSV, TSV, Parquet or JSON file, click Add Connection under the sidebar, pick the Data File tile and click Choose… to pick it. The Connection String field reads duckdb:// addresses and a bare path.
- Connects to
- A DuckDB file, or a Data File: a CSV, TSV, Parquet or JSON file, or a folder of them.
- Files
- DuckDB 1.1.3 is built in. It opens files written by DuckDB 0.9, 0.10, 1.0 and 1.1; a file from a newer release may not open.
- Console
- None. A DuckDB file allows one process at a time, and the app is it.
- Notes
- A data file is opened as a view through an in-memory DuckDB and read again on every query, so an edit to the file shows up on the next run.
One app for the rest of your databases, too.
Every feature is built against one driver contract, so the grid, the designers and the assistant work the same whichever server you open next.
Try it on your own database.
Free for the databases on your Mac, and never asking you to sign in.
$brew install --cask az-code-lab/taps/dbclient