Ir al contenido

Hoja de Referencia de Harlequin - IDE SQL de Terminal

Hoja de Referencia de Harlequin - IDE SQL de Terminal

Un IDE SQL completo que se ejecuta completamente en tu terminal. Incluye resaltado de sintaxis, autocompletado, una barra lateral de catálogo de datos, múltiples adaptadores de base de datos y exportación de resultados — no se necesita GUI.

Instalación

MétodoComando
uv (Recomendado)uv tool install harlequin
pippip install harlequin
pipxpipx install harlequin
Homebrewbrew install harlequin
Poetrypoetry add harlequin

Instalación con Adaptadores de Base de Datos

# DuckDB (built-in, no extra install needed)
uv tool install harlequin

# SQLite adapter
uv tool install 'harlequin[sqlite]'

# PostgreSQL adapter
uv tool install 'harlequin[postgres]'

# MySQL adapter
uv tool install 'harlequin[mysql]'

# Multiple adapters at once
uv tool install 'harlequin[postgres,mysql,sqlite,s3]'

Requiere: Python 3.9+

Lanzar Harlequin

ComandoDescripción
harlequinAbrir con base de datos DuckDB en memoria
harlequin mydb.duckdbAbrir un archivo de base de datos DuckDB
harlequin -a sqlite mydb.dbAbrir una base de datos SQLite
harlequin -a sqliteAbrir base de datos SQLite en memoria
harlequin -a postgres -h localhost -p 5432 -U user -d mydbConectar a PostgreSQL
harlequin -a mysql -h localhost -u root mydbConectar a MySQL
harlequin --theme monokaiUsar un tema de color específico
harlequin --locale en_USEstablecer configuración regional de formato de números
harlequin --helpMostrar todas las opciones de CLI

Atajos de Teclado en la Aplicación

Editor de Consultas

TeclaDescripción
Ctrl+EnterEjecutar consulta actual
Ctrl+jEjecutar consulta actual (alternativo)
Ctrl+oAbrir un archivo SQL
Ctrl+sGuardar consulta actual a archivo
Ctrl+nNueva pestaña de consulta
Ctrl+wCerrar pestaña de consulta actual
Ctrl+kCambiar a siguiente pestaña de consulta
TabAceptar sugerencia de autocompletado
EscapeDescartar menú de autocompletado
F1Mostrar ayuda / documentación contextual

Panel de Resultados

TeclaDescripción
Ctrl+rCambiar foco a panel de resultados
Ctrl+eCambiar foco a editor de consultas
Teclas de flechaNavegar tabla de resultados
Ctrl+cCopiar celda(s) seleccionada(s)

General

TeclaDescripción
Ctrl+qSalir de Harlequin
Ctrl+bAlternar barra lateral de catálogo de datos
F1Ayuda

Características Específicas de DuckDB

DuckDB es el adaptador predeterminado y soporta características poderosas:

-- Read CSV files directly
SELECT * FROM read_csv_auto('data.csv');

-- Read Parquet files
SELECT * FROM read_parquet('data.parquet');

-- Read JSON files
SELECT * FROM read_json_auto('data.json');

-- Query remote files
SELECT * FROM read_csv_auto('https://example.com/data.csv');

-- Query S3 files (with s3 adapter)
SELECT * FROM read_parquet('s3://bucket/data.parquet');

-- Aggregate data from multiple files
SELECT * FROM read_csv_auto('logs/*.csv');

Archivo de Configuración

Crear un archivo de configuración para guardar perfiles de conexión usados frecuentemente:

Configuración de Perfiles

# ~/.config/harlequin/config.toml
# (or use --config flag to specify path)

[profiles.local-pg]
adapter = "postgres"
host = "localhost"
port = 5432
user = "myuser"
database = "mydb"

[profiles.prod-readonly]
adapter = "postgres"
host = "prod-db.example.com"
port = 5432
user = "readonly"
database = "production"
theme = "monokai"

[profiles.duckdb-analytics]
adapter = "duckdb"
conn_str = ["analytics.duckdb"]

Usar perfiles con:

harlequin --profile local-pg

Adaptadores Disponibles

AdaptadorExtra de InstalaciónEjemplo de Conexión
DuckDB(integrado)harlequin data.duckdb
SQLitesqliteharlequin -a sqlite data.db
PostgreSQLpostgresharlequin -a postgres -h host -U user -d db
MySQLmysqlharlequin -a mysql -h host -u user db
S3 / GCSs3Parquet/CSV en almacenamiento en la nube
ODBCodbcConexiones ODBC genéricas
TrinotrinoClústeres Trino/Presto
BigQuerybigqueryGoogle BigQuery
CassandracassandraApache Cassandra
ClickHouseclickhouseBases de datos ClickHouse
MotherDuck(vía DuckDB)DuckDB en la nube

Flujos de Trabajo Comunes

# Quick data exploration — open CSV as a database
harlequin
# Then in query editor: SELECT * FROM read_csv_auto('data.csv') LIMIT 100;

# Explore a SQLite database (e.g., a mobile app DB)
harlequin -a sqlite app.db

# Connect to local Postgres for development
harlequin -a postgres -h localhost -p 5432 -U dev -d myapp_dev

# Analyze Parquet files without loading into a database
harlequin
# Then: SELECT * FROM read_parquet('output/*.parquet');

Integración con Django

# Install django-harlequin
pip install django-harlequin

# Launch Harlequin connected to your Django DB
./manage.py harlequin

Solución de Problemas

ProblemaSolución
Adaptador no encontradoInstalar con extras: uv tool install 'harlequin[postgres]'
Conexión rechazadaVerificar host, puerto y que el servidor de base de datos esté ejecutándose
Problemas de visualizaciónProbar un terminal diferente (Kitty, WezTerm, iTerm2 recomendados)
Lento en tablas grandesUsar LIMIT en consultas; evitar SELECT * en tablas enormes
Falta autocompletadoAsegurar que estás conectado a una base de datos con esquema

Comparación con Otras Herramientas SQL

CaracterísticaHarlequinDBeaverpgcliusql
Se ejecuta en terminalNo (GUI)
Multi-base de datosSolo Postgres
AutocompletadoNo
Tabla de resultados visualBásicoBásico
Consultas de archivos (CSV, Parquet)Sí (DuckDB)LimitadoNoNo
Perfiles de configuraciónNo

Recursos