الانتقال إلى المحتوى الرئيسي
تُعيد عبارة INTO OUTFILE توجيه ناتج استعلام SELECT إلى ملف على جانب العميل. الملفات المضغوطة مدعومة. ويُستدل على نوع الضغط من امتداد اسم الملف (ويُستخدم الوضع 'auto' افتراضيًا). كما يمكن تحديده صراحةً في عبارة COMPRESSION. ويمكن تحديد مستوى الضغط لنوع ضغط معيّن في عبارة LEVEL. الصيغة
SELECT <expr_list> INTO OUTFILE file_name [AND STDOUT] [APPEND | TRUNCATE] [COMPRESSION type [LEVEL level]]
file_name وtype هما قيمتان نصيتان حرفيتان. أنواع الضغط المدعومة هي: 'none'، 'gzip'، 'deflate'، 'br'، 'xz'، 'zstd'، 'lz4'، 'bz2'. level قيمة رقمية حرفية. الأعداد الصحيحة الموجبة المدعومة تكون ضمن النطاقات التالية: 1-12 للنوع lz4، و1-22 للنوع zstd، و1-9 لأنواع الضغط الأخرى.

تفاصيل التنفيذ

  • هذه الوظيفة متاحة في عميل سطر الأوامر وclickhouse-local. لذلك، سيفشل أي استعلام يُرسَل عبر واجهة HTTP.
  • سيفشل الـاستعلام إذا كان هناك بالفعل ملف بالاسم نفسه.
  • تنسيق الإخراج الافتراضي هو TabSeparated (كما في وضع الدفعات لعميل سطر الأوامر). استخدم عبارة FORMAT لتغييره.
  • إذا ورد AND STDOUT في الـاستعلام، فسيُعرَض أيضًا على المخرجات القياسية الإخراج الذي يُكتَب إلى الملف. وإذا استُخدم مع الضغط، فسيُعرَض النص العادي على المخرجات القياسية.
  • إذا ورد APPEND في الـاستعلام، فسيُلحَق الإخراج بملف موجود. وإذا استُخدم الضغط، فلا يمكن استخدامه.
  • عند الكتابة إلى ملف موجود بالفعل، يجب استخدام APPEND أو TRUNCATE.
مثال نفّذ الـاستعلام التالية باستخدام عميل سطر الأوامر:
Query
clickhouse-client --query="SELECT 1,'ABC' INTO OUTFILE 'select.gz' FORMAT CSV;"
zcat select.gz 
Response
1,"ABC"
آخر تعديل في ٢٥ يونيو ٢٠٢٦