Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

clickhouse-format

يتيح تنسيق استعلامات الإدخال.

المفاتيح:

  • --help or-h — يعرض رسالة المساعدة.
  • --query — ينسّق الاستعلامات مهما بلغ طولها أو تعقيدها.
  • --hilite or --highlight — يضيف تمييزًا لبنية الجملة باستخدام تسلسلات الهروب ANSI الخاصة بالطرفية.
  • --oneline — ينسّق الاستعلام في سطر واحد.
  • --max_line_length — ينسّق الاستعلامات في سطر واحد إذا كان طولها أقل من القيمة المحددة.
  • --comments — يُبقي التعليقات في المخرجات.
  • --quiet or -q — يتحقق فقط من صحة البنية النحوية، من دون أي مخرجات عند النجاح.
  • --multiquery or -n — يسمح بوجود عدة استعلامات في الملف نفسه.
  • --obfuscate — يجري الإخفاء بدلًا من التنسيق.
  • --seed <string> — سلسلة seed عشوائية تحدد نتيجة الإخفاء.
  • --backslash — يضيف محرف شرطة مائلة عكسية في نهاية كل سطر من الاستعلام المنسّق. قد يكون ذلك مفيدًا عند نسخ استعلام من الويب أو من أي مكان آخر على عدة أسطر، ثم الرغبة في تنفيذه في سطر الأوامر.
  • --semicolons_inline — في وضع multiquery، يكتب الفواصل المنقوطة في السطر الأخير من الاستعلام بدلًا من سطر جديد.

أمثلة

  1. تنسيق استعلام:
Querybash
$ clickhouse-format --query "select number from numbers(10) where number%2 order by number desc;"
Responsebash
SELECT number
FROM numbers(10)
WHERE number % 2
ORDER BY number DESC
  1. الإبراز والإخراج في سطر واحد:
Querybash
$ clickhouse-format --oneline --hilite <<< "SELECT sum(number) FROM numbers(5);"
Responsesql
SELECT sum(number) FROM numbers(5)
  1. الاستعلامات المتعددة:
Querybash
$ clickhouse-format -n <<< "SELECT min(number) FROM numbers(5); SELECT max(number) FROM numbers(5);"
Responsesql
SELECT min(number)
FROM numbers(5)
;

SELECT max(number)
FROM numbers(5)
;
  1. التمويه:
Querybash
$ clickhouse-format --seed Hello --obfuscate <<< "SELECT cost_first_screen BETWEEN a AND b, CASE WHEN x >= 123 THEN y ELSE NULL END;"
Responsesql
SELECT treasury_mammoth_hazelnut BETWEEN nutmeg AND span, CASE WHEN chive >= 116 THEN switching ELSE ANYTHING END;

الاستعلام نفسه وسلسلة seed أخرى:

Querybash
$ clickhouse-format --seed World --obfuscate <<< "SELECT cost_first_screen BETWEEN a AND b, CASE WHEN x >= 123 THEN y ELSE NULL END;"
Responsesql
SELECT horse_tape_summer BETWEEN folklore AND moccasins, CASE WHEN intestine >= 116 THEN nonconformist ELSE FORESTRY END;
  1. إضافة الشرطة المائلة العكسية:
Querybash
$ clickhouse-format --backslash <<< "SELECT * FROM (SELECT 1 AS x UNION ALL SELECT 1 UNION DISTINCT SELECT 3);"
Responsesql
SELECT * \
Navigation