Zum Inhalt springen

Harlequin - Terminal-SQL-IDE Kurzreferenz

Eine vollwertige SQL-IDE, die vollständig in Ihrem Terminal läuft. Bietet Syntaxhervorhebung, Autovervollständigung, eine Datenkatalog-Seitenleiste, mehrere Datenbank-Adapter und Ergebnisexport — keine GUI erforderlich.

MethodeBefehl
uv (Empfohlen)uv tool install harlequin
pippip install harlequin
pipxpipx install harlequin
Homebrewbrew install harlequin
Poetrypoetry add harlequin
# DuckDB (eingebaut, keine zusätzliche Installation erforderlich)
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]'

# Mehrere Adapter gleichzeitig
uv tool install 'harlequin[postgres,mysql,sqlite,s3]'

Voraussetzungen: Python 3.9+

BefehlBeschreibung
harlequinMit In-Memory-DuckDB-Datenbank öffnen
harlequin mydb.duckdbDuckDB-Datenbankdatei öffnen
harlequin -a sqlite mydb.dbSQLite-Datenbank öffnen
harlequin -a sqliteIn-Memory-SQLite-Datenbank öffnen
harlequin -a postgres -h localhost -p 5432 -U user -d mydbZu PostgreSQL verbinden
harlequin -a mysql -h localhost -u root mydbZu MySQL verbinden
harlequin --theme monokaiBestimmtes Farbthema verwenden
harlequin --locale en_USZahlenformatierungs-Locale setzen
harlequin --helpAlle CLI-Optionen anzeigen
TasteBeschreibung
Ctrl+EnterAktuelle Abfrage ausführen
Ctrl+jAktuelle Abfrage ausführen (Alternative)
Ctrl+oSQL-Datei öffnen
Ctrl+sAktuelle Abfrage in Datei speichern
Ctrl+nNeuen Abfrage-Tab
Ctrl+wAktuellen Abfrage-Tab schließen
Ctrl+kZum nächsten Abfrage-Tab wechseln
TabAutovervollständigungsvorschlag akzeptieren
EscapeAutovervollständigungsmenü schließen
F1Hilfe / kontextuelle Dokumentation anzeigen
TasteBeschreibung
Ctrl+rFokus zu Ergebnisbereich wechseln
Ctrl+eFokus zu Abfrage-Editor wechseln
PfeiltastenIn Ergebnistabelle navigieren
Ctrl+cAusgewählte Zelle(n) kopieren
TasteBeschreibung
Ctrl+qHarlequin beenden
Ctrl+bDatenkatalog-Seitenleiste umschalten
F1Hilfe

DuckDB ist der Standard-Adapter und unterstützt leistungsstarke Funktionen:

-- CSV-Dateien direkt lesen
SELECT * FROM read_csv_auto('data.csv');

-- Parquet-Dateien lesen
SELECT * FROM read_parquet('data.parquet');

-- JSON-Dateien lesen
SELECT * FROM read_json_auto('data.json');

-- Remote-Dateien abfragen
SELECT * FROM read_csv_auto('https://example.com/data.csv');

-- S3-Dateien abfragen (mit s3-Adapter)
SELECT * FROM read_parquet('s3://bucket/data.parquet');

-- Daten aus mehreren Dateien aggregieren
SELECT * FROM read_csv_auto('logs/*.csv');

Erstellen Sie eine Konfigurationsdatei, um häufig verwendete Verbindungsprofile zu speichern:

# ~/.config/harlequin/config.toml
# (oder verwenden Sie --config-Flag, um Pfad anzugeben)

[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"]

Profile verwenden mit:

harlequin --profile local-pg
AdapterInstall ExtraVerbindungsbeispiel
DuckDB(eingebaut)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 auf Cloud-Speicher
ODBCodbcGenerische ODBC-Verbindungen
TrinotrinoTrino/Presto-Cluster
BigQuerybigqueryGoogle BigQuery
CassandracassandraApache Cassandra
ClickHouseclickhouseClickHouse-Datenbanken
MotherDuck(via DuckDB)Cloud DuckDB
# Schnelle Datenexploration — CSV als Datenbank öffnen
harlequin
# Dann im Abfrage-Editor: SELECT * FROM read_csv_auto('data.csv') LIMIT 100;

# SQLite-Datenbank erkunden (z.B. eine Mobile-App-DB)
harlequin -a sqlite app.db

# Zu lokalem Postgres für Entwicklung verbinden
harlequin -a postgres -h localhost -p 5432 -U dev -d myapp_dev

# Parquet-Dateien analysieren ohne in Datenbank zu laden
harlequin
# Dann: SELECT * FROM read_parquet('output/*.parquet');
# django-harlequin installieren
pip install django-harlequin

# Harlequin verbunden mit Ihrer Django-DB starten
./manage.py harlequin
ProblemLösung
Adapter nicht gefundenMit Extras installieren: uv tool install 'harlequin[postgres]'
Verbindung verweigertHost, Port prüfen und dass Datenbankserver läuft
AnzeigeproblemeAnderes Terminal versuchen (Kitty, WezTerm, iTerm2 empfohlen)
Langsam bei großen TabellenLIMIT in Abfragen verwenden; SELECT * bei riesigen Tabellen vermeiden
Fehlende AutovervollständigungSicherstellen, dass Sie mit einer Datenbank mit Schema verbunden sind
FunktionHarlequinDBeaverpgcliusql
Läuft im TerminalJaNein (GUI)JaJa
Multi-DatenbankJaJaNur PostgresJa
AutovervollständigungJaJaJaNein
Visuelle ErgebnistabelleJaJaEinfachEinfach
Dateiabfragen (CSV, Parquet)Ja (DuckDB)BegrenztNeinNein
KonfigurationsprofileJaJaJaNein