تخطَّ إلى المحتوى

ورقة مرجعية Harlequin - بيئة تطوير SQL طرفية

ورقة مرجعية Harlequin - بيئة تطوير SQL طرفية

Section titled “ورقة مرجعية Harlequin - بيئة تطوير SQL طرفية”

بيئة تطوير SQL كاملة الميزات تعمل بالكامل في الطرفية. تتميز بتمييز الصيغة، والإكمال التلقائي، وشريط جانبي لكتالوج البيانات، ومحولات قواعد بيانات متعددة، وتصدير النتائج — بدون حاجة لواجهة رسومية.

الطريقةالأمر
uv (موصى به)uv tool install harlequin
pippip install harlequin
pipxpipx install harlequin
Homebrewbrew install harlequin
Poetrypoetry add harlequin

التثبيت مع محولات قواعد البيانات

Section titled “التثبيت مع محولات قواعد البيانات”
# DuckDB (مدمج، لا حاجة لتثبيت إضافي)
uv tool install harlequin

# محول SQLite
uv tool install 'harlequin[sqlite]'

# محول PostgreSQL
uv tool install 'harlequin[postgres]'

# محول MySQL
uv tool install 'harlequin[mysql]'

# محولات متعددة معًا
uv tool install 'harlequin[postgres,mysql,sqlite,s3]'

المتطلبات: Python 3.9+

الأمرالوصف
harlequinالفتح مع قاعدة بيانات DuckDB في الذاكرة
harlequin mydb.duckdbفتح ملف قاعدة بيانات DuckDB
harlequin -a sqlite mydb.dbفتح قاعدة بيانات SQLite
harlequin -a sqliteفتح قاعدة بيانات SQLite في الذاكرة
harlequin -a postgres -h localhost -p 5432 -U user -d mydbالاتصال بـ PostgreSQL
harlequin -a mysql -h localhost -u root mydbالاتصال بـ MySQL
harlequin --theme monokaiاستخدام سمة ألوان محددة
harlequin --locale en_USتعيين صيغة تنسيق الأرقام
harlequin --helpإظهار جميع خيارات سطر الأوامر

اختصارات لوحة المفاتيح داخل التطبيق

Section titled “اختصارات لوحة المفاتيح داخل التطبيق”
مفتاحالوصف
Ctrl+Enterتنفيذ الاستعلام الحالي
Ctrl+jتنفيذ الاستعلام الحالي (بديل)
Ctrl+oفتح ملف SQL
Ctrl+sحفظ الاستعلام الحالي في ملف
Ctrl+nعلامة تبويب استعلام جديدة
Ctrl+wإغلاق علامة تبويب الاستعلام الحالية
Ctrl+kالتبديل إلى علامة تبويب الاستعلام التالية
Tabقبول اقتراح الإكمال التلقائي
Escapeرفض قائمة الإكمال التلقائي
F1إظهار المساعدة / التوثيق السياقي
مفتاحالوصف
Ctrl+rتبديل التركيز إلى لوحة النتائج
Ctrl+eتبديل التركيز إلى محرر الاستعلام
مفاتيح الأسهمالتنقل في جدول النتائج
Ctrl+cنسخ الخلية (الخلايا) المحددة
مفتاحالوصف
Ctrl+qالخروج من Harlequin
Ctrl+bتبديل الشريط الجانبي لكتالوج البيانات
F1المساعدة

DuckDB هو المحول الافتراضي ويدعم ميزات قوية:

-- قراءة ملفات CSV مباشرة
SELECT * FROM read_csv_auto('data.csv');

-- قراءة ملفات Parquet
SELECT * FROM read_parquet('data.parquet');

-- قراءة ملفات JSON
SELECT * FROM read_json_auto('data.json');

-- الاستعلام عن ملفات بعيدة
SELECT * FROM read_csv_auto('https://example.com/data.csv');

-- الاستعلام عن ملفات S3 (مع محول s3)
SELECT * FROM read_parquet('s3://bucket/data.parquet');

-- تجميع البيانات من ملفات متعددة
SELECT * FROM read_csv_auto('logs/*.csv');

إنشاء ملف تكوين لحفظ ملفات تعريف الاتصال المستخدمة بشكل متكرر:

# ~/.config/harlequin/config.toml
# (أو استخدام علامة --config لتحديد المسار)

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

استخدام الملفات الشخصية مع:

harlequin --profile local-pg
المحولالتثبيت الإضافيمثال الاتصال
DuckDB(مدمج)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 على التخزين السحابي
ODBCodbcاتصالات ODBC عامة
Trinotrinoمجموعات Trino/Presto
BigQuerybigqueryGoogle BigQuery
CassandracassandraApache Cassandra
ClickHouseclickhouseقواعد بيانات ClickHouse
MotherDuck(عبر DuckDB)Cloud DuckDB
# استكشاف بيانات سريع — فتح CSV كقاعدة بيانات
harlequin
# ثم في محرر الاستعلام: SELECT * FROM read_csv_auto('data.csv') LIMIT 100;

# استكشاف قاعدة بيانات SQLite (مثل قاعدة بيانات تطبيق محمول)
harlequin -a sqlite app.db

# الاتصال بـ Postgres المحلية للتطوير
harlequin -a postgres -h localhost -p 5432 -U dev -d myapp_dev

# تحليل ملفات Parquet بدون تحميلها في قاعدة بيانات
harlequin
# ثم: SELECT * FROM read_parquet('output/*.parquet');
# تثبيت django-harlequin
pip install django-harlequin

# تشغيل Harlequin متصلاً بقاعدة بيانات Django الخاصة بك
./manage.py harlequin

استكشاف الأخطاء وإصلاحها

Section titled “استكشاف الأخطاء وإصلاحها”
المشكلةالحل
المحول غير موجودالتثبيت مع الإضافات: uv tool install 'harlequin[postgres]'
رفض الاتصالتحقق من المضيف والمنفذ وأن خادم قاعدة البيانات يعمل
مشاكل العرضجرب طرفية مختلفة (Kitty، WezTerm، iTerm2 موصى بها)
بطء على الجداول الكبيرةاستخدام LIMIT في الاستعلامات؛ تجنب SELECT * على الجداول الضخمة
الإكمال التلقائي مفقودتأكد من أنك متصل بقاعدة بيانات بها مخطط

المقارنة مع أدوات SQL الأخرى

Section titled “المقارنة مع أدوات SQL الأخرى”
الميزةHarlequinDBeaverpgcliusql
يعمل في الطرفيةنعملا (GUI)نعمنعم
قواعد بيانات متعددةنعمنعمPostgres فقطنعم
الإكمال التلقائينعمنعمنعملا
جدول نتائج مرئينعمنعمأساسيأساسي
استعلامات الملفات (CSV, Parquet)نعم (DuckDB)محدودلالا
ملفات تعريف التكويننعمنعمنعملا