A Terminal-based SQL IDE for DuckDB.
(A Harlequin is also a pretty duck.)
After installing Python 3.8 or above, install Harlequin using pip
or pipx
with:
pipx install harlequin
Tip:
You can run invoke directly with
pipx run
anywhere thatpipx
is installed. For example:
pipx run harlequin --help
pipx run harlequin ./my.duckdb
Without a database file:
docker run ghcr.io/tconbeer/harlequin:latest
Mounting a database file ./foo.db
into the container's working directory, /data
:
docker run -v $(pwd)/foo.db:/data/bar.db ghcr.io/tconbeer/harlequin:latest harlequin bar.db
From any shell, to open a DuckDB database file:
harlequin "path/to/duck.db"
To open an in-memory DuckDB session, run Harlequin with no arguments:
harlequin
When Harlequin is open, you can view the schema of your DuckDB database in the left sidebar. You can use your mouse or the arrow keys + enter to navigate the tree. The tree shows schemas, tables/views and their types, and columns and their types.
The main query editor is a full-featured text editor, with features including syntax highlighting, auto-formatting with ctrl + `
, text selection, copy/paste, and more.
You can save the query currently in the editor with ctrl + s
. You can open a query in any text or .sql file with ctrl + o
.
To run a query, press ctrl + enter
. Up to 50k records will be loaded into the results pane below the query editor. When the focus is on the data pane, you can use your arrow keys or mouse to select different cells.
Press ctrl + q
to quit and return to your shell.