الانتقال إلى المحتوى الرئيسي
تُعد SQL Console أسرع وأسهل طريقة لاستكشاف قواعد بياناتك وتنفيذ الاستعلامات عليها في ClickHouse Cloud. يمكنك استخدام SQL Console من أجل:
  • الاتصال بخدمات ClickHouse Cloud الخاصة بك
  • عرض بيانات الجداول وتصفيتها وفرزها
  • تنفيذ الاستعلامات وتصور بيانات النتائج ببضع نقرات فقط
  • مشاركة الاستعلامات مع أعضاء الفريق والتعاون بفعالية أكبر.

استعراض الجداول

عرض قائمة الجداول ومعلومات المخطط

يمكنك العثور على لمحة عامة عن الجداول الموجودة في مثيل ClickHouse الخاص بك في الشريط الجانبي الأيسر. استخدم محدِّد قاعدة البيانات أعلى الشريط الجانبي الأيسر لعرض الجداول في قاعدة بيانات محددة يمكن أيضًا توسيع الجداول في القائمة لعرض الأعمدة وأنواع البيانات

استكشاف بيانات الجدول

انقر على أي جدول في القائمة لفتحه في علامة تبويب جديدة. في Table View، يمكنك عرض البيانات وتحديدها ونسخها بسهولة. لاحظ أنه يتم الحفاظ على البنية والتنسيق عند النسخ واللصق في تطبيقات جداول البيانات مثل Microsoft Excel وGoogle Sheets. يمكنك التنقل بين صفحات بيانات الجدول (المقسّمة إلى صفحات من 30 صفًا) باستخدام عناصر التنقل في التذييل.

فحص بيانات الخلية

يمكن استخدام أداة Cell Inspector لعرض كميات كبيرة من البيانات الموجودة داخل خلية واحدة. لفتحها، انقر بزر الماوس الأيمن على خلية ثم اختر ‘Inspect Cell’. يمكن نسخ محتويات Cell Inspector بالنقر على أيقونة النسخ في الزاوية العلوية اليمنى.

تصفية الجداول وفرزها

فرز جدول

لفرز جدول في SQL Console، افتح جدولًا وحدد زر ‘Sort’ في شريط الأدوات. سيفتح هذا الزر قائمة تتيح لك ضبط إعدادات الفرز. يمكنك اختيار عمود للفرز على أساسه وتحديد ترتيب الفرز (تصاعديًا أو تنازليًا). حدّد ‘Apply’ أو اضغط Enter لفرز جدولك يتيح لك SQL Console أيضًا إضافة عدة عمليات فرز إلى جدول. انقر زر ‘Sort’ مرة أخرى لإضافة فرز آخر. ملاحظة: تُطبَّق عمليات الفرز بالترتيب الذي تظهر به في جزء الفرز (من الأعلى إلى الأسفل). لإزالة عملية فرز، ما عليك سوى النقر على زر ‘x’ بجانبها.

تصفية جدول

لتصفية جدول في SQL Console، افتح جدولًا وحدد الزر ‘Filter’. وكما هو الحال مع الفرز، سيفتح هذا الزر قائمة تتيح لك ضبط عامل التصفية. يمكنك اختيار العمود الذي تريد التصفية على أساسه وتحديد المعايير المطلوبة. يعرض SQL Console بذكاء خيارات تصفية تتوافق مع نوع البيانات الموجودة في العمود. عندما تصبح إعدادات عامل التصفية مناسبة، يمكنك تحديد ‘Apply’ لتصفية بياناتك. ويمكنك أيضًا إضافة عوامل تصفية إضافية كما هو موضح أدناه. وعلى غرار وظيفة الفرز، انقر فوق الزر ‘x’ بجوار عامل التصفية لإزالته.

التصفية والفرز معًا

يتيح لك SQL Console تصفية جدول وفرزه في الوقت نفسه. للقيام بذلك، أضِف جميع عوامل التصفية وعمليات الفرز المطلوبة باستخدام الخطوات الموضحة أعلاه، ثم انقر على الزر ‘Apply’.

إنشاء استعلام من عوامل التصفية وخيارات الفرز

يمكن لـ SQL Console تحويل خيارات الفرز وعوامل التصفية التي تحددها مباشرةً إلى استعلامات بنقرة واحدة. ما عليك سوى اختيار زر ‘Create Query’ من شريط الأدوات بعد تحديد معلمات الفرز والتصفية المطلوبة. بعد النقر على ‘Create query’، ستُفتح علامة تبويب جديدة للاستعلام، مع تعبئتها مسبقًا بأمر SQL المطابق للبيانات المعروضة في عرض الجدول.
عوامل التصفية وخيارات الفرز ليست مطلوبة عند استخدام ميزة ‘Create Query’.
يمكنك معرفة المزيد عن الاستعلام عن البيانات في SQL Console من خلال قراءة وثائق الاستعلام (link).

إنشاء استعلام وتشغيله

إنشاء استعلام

توجد طريقتان لإنشاء استعلام جديد في SQL Console.
  • انقر على زر ’+” في شريط علامات التبويب
  • حدِّد زر ‘New Query’ من قائمة الاستعلامات في الشريط الجانبي الأيسر

تشغيل استعلام

لتشغيل استعلام، اكتب أمر SQL أو الأوامر داخل SQL Editor وانقر على زر ‘Run’ أو استخدم الاختصار cmd / ctrl + enter. ولكتابة عدة أوامر وتشغيلها بالتسلسل، تأكد من إضافة فاصلة منقوطة بعد كل أمر. خيارات تنفيذ الاستعلام افتراضيًا، سيؤدي النقر على زر ‘Run’ إلى تشغيل جميع الأوامر الموجودة في SQL Editor. يدعم SQL Console خيارين آخرين لتنفيذ الاستعلام:
  • تشغيل الأوامر المحددة
  • تشغيل الأمر عند المؤشر
لتشغيل الأوامر المحددة، ظلّل الأمر المطلوب أو مجموعة الأوامر المطلوبة ثم انقر على زر ‘Run’ (أو استخدم الاختصار cmd / ctrl + enter). ويمكنك أيضًا اختيار ‘Run selected’ من القائمة السياقية في SQL Editor (التي تُفتح بالنقر بزر الماوس الأيمن في أي مكان داخل المحرر) عند وجود تحديد. يمكن تشغيل الأمر عند موضع المؤشر الحالي بطريقتين:
  • اختر ‘At Cursor’ من قائمة خيارات التشغيل الموسعة (أو استخدم اختصار لوحة المفاتيح المقابل cmd / ctrl + shift + enter
  • اختر ‘Run at cursor’ من القائمة السياقية في SQL Editor
سيومض الأمر الموجود عند موضع المؤشر باللون الأصفر عند تنفيذه.

إلغاء استعلام

أثناء تنفيذ استعلام، سيحل زر ‘Cancel’ محل زر ‘Run’ في شريط أدوات محرر الاستعلام. ما عليك سوى النقر على هذا الزر أو الضغط على Esc لإلغاء الاستعلام. ملاحظة: ستظل أي نتائج أُعيدت بالفعل متاحة بعد الإلغاء.

حفظ استعلام

إذا لم يكن الاستعلام قد سُمّي مسبقًا، فسيكون اسمه “Untitled Query”. انقر على اسم الاستعلام لتغييره. تؤدي إعادة تسمية الاستعلام إلى حفظه. يمكنك أيضًا استخدام زر الحفظ أو اختصار لوحة المفاتيح cmd / ctrl + s لحفظ الاستعلام.

استخدام GenAI لإدارة الاستعلامات

تتيح لك هذه الميزة كتابة الاستعلامات بصيغة أسئلة بلغة طبيعية، لتتولى وحدة تحكم الاستعلامات إنشاء استعلامات SQL استنادًا إلى سياق الجداول المتاحة. كما يمكن أن يساعدك GenAI في تصحيح أخطاء استعلاماتك. لمزيد من المعلومات حول GenAI، اطّلع على مقال المدونة Announcing GenAI powered query suggestions in ClickHouse Cloud.

إعداد الجدول

لنستورد مجموعة بيانات UK Price Paid التجريبية ونستخدمها لإنشاء بعض استعلامات GenAI.
  1. افتح خدمة ClickHouse Cloud.
  2. أنشئ استعلامًا جديدًا بالنقر على أيقونة +.
  3. الصق الشيفرة التالية ثم شغّلها:
    CREATE TABLE uk_price_paid
    (
        price UInt32,
        date Date,
        postcode1 LowCardinality(String),
        postcode2 LowCardinality(String),
        type Enum8('terraced' = 1, 'semi-detached' = 2, 'detached' = 3, 'flat' = 4, 'other' = 0),
        is_new UInt8,
        duration Enum8('freehold' = 1, 'leasehold' = 2, 'unknown' = 0),
        addr1 String,
        addr2 String,
        street LowCardinality(String),
        locality LowCardinality(String),
        town LowCardinality(String),
        district LowCardinality(String),
        county LowCardinality(String)
    )
    ENGINE = MergeTree
    ORDER BY (postcode1, postcode2, addr1, addr2);
    
    من المفترض أن يستغرق هذا الاستعلام حوالي ثانية واحدة ليكتمل. وبعد الانتهاء، ينبغي أن يكون لديك جدول فارغ باسم uk_price_paid.
  4. أنشئ استعلامًا جديدًا والصق الاستعلام التالي:
    INSERT INTO uk_price_paid
    WITH
       splitByChar(' ', postcode) AS p
    SELECT
        toUInt32(price_string) AS price,
        parseDateTimeBestEffortUS(time) AS date,
        p[1] AS postcode1,
        p[2] AS postcode2,
        transform(a, ['T', 'S', 'D', 'F', 'O'], ['terraced', 'semi-detached', 'detached', 'flat', 'other']) AS type,
        b = 'Y' AS is_new,
        transform(c, ['F', 'L', 'U'], ['freehold', 'leasehold', 'unknown']) AS duration,
        addr1,
        addr2,
        street,
        locality,
        town,
        district,
        county
    FROM url(
        'http://prod.publicdata.landregistry.gov.uk.s3-website-eu-west-1.amazonaws.com/pp-complete.csv',
        'CSV',
        'uuid_string String,
        price_string String,
        time String,
        postcode String,
        a String,
        b String,
        c String,
        addr1 String,
        addr2 String,
        street String,
        locality String,
        town String,
        district String,
        county String,
        d String,
        e String'
    ) SETTINGS max_http_get_redirects=10;
    
يستورد هذا الاستعلام مجموعة البيانات من موقع gov.uk. يبلغ حجم هذا الملف حوالي 4GB، لذا سيستغرق اكتمال هذا الاستعلام بضع دقائق. وبعد أن ينتهي ClickHouse من معالجة الاستعلام، ينبغي أن تكون مجموعة البيانات كاملة داخل جدول uk_price_paid.

إنشاء الاستعلام

لننشئ استعلامًا باستخدام اللغة الطبيعية.
  1. حدِّد الجدول uk_price_paid، ثم انقر على Create Query.
  2. انقر على Generate SQL. قد يُطلب منك الموافقة على إرسال استعلاماتك إلى Chat-GPT. يجب أن تحدد I agree للمتابعة.
  3. يمكنك الآن استخدام هذا الـ prompt لإدخال استعلام باللغة الطبيعية وجعل ChatGPT يحوّله إلى استعلام SQL. في هذا المثال، سندخل:
    اعرض لي إجمالي السعر وإجمالي عدد جميع معاملات uk_price_paid حسب السنة.
  4. سيُنشئ Console الاستعلام المطلوب ويعرضه في علامة تبويب جديدة. في مثالنا، أنشأ GenAI الاستعلام التالي:
    -- اعرض لي إجمالي السعر وإجمالي عدد جميع معاملات uk_price_paid حسب السنة.
    SELECT year(date), sum(price) as total_price, Count(*) as total_transactions
    FROM uk_price_paid
    GROUP BY year(date)
    
  5. بعد التأكد من صحة الاستعلام، انقر على Run لتنفيذه.

تصحيح الأخطاء

الآن، لنختبر إمكانات تصحيح أخطاء الاستعلامات في GenAI.
  1. أنشئ استعلامًا جديدًا بالنقر على أيقونة + ثم الصق الشيفرة التالية:
    -- اعرض لي إجمالي السعر وإجمالي عدد جميع معاملات uk_price_paid حسب السنة.
    SELECT year(date), sum(pricee) as total_price, Count(*) as total_transactions
    FROM uk_price_paid
    GROUP BY year(date)
    
  2. انقر على Run. سيفشل الاستعلام لأننا نحاول جلب قيم من pricee بدلًا من price.
  3. انقر على Fix Query.
  4. سيحاول GenAI إصلاح الاستعلام. في هذه الحالة، غيّر pricee إلى price. كما أدرك أن toYear دالة أفضل للاستخدام في هذا السيناريو.
  5. حدِّد Apply لإضافة التغييرات المقترحة إلى استعلامك، ثم انقر على Run.
ضع في اعتبارك أن GenAI ميزة تجريبية. توخَّ الحذر عند تشغيل الاستعلامات التي ينشئها GenAI على أي مجموعة بيانات.

ميزات متقدمة للاستعلام

البحث في نتائج الاستعلام

بعد تنفيذ الاستعلام، يمكنك البحث بسرعة في مجموعة النتائج المُعادة باستخدام حقل البحث في جزء النتائج. تساعد هذه الميزة في معاينة نتائج عبارة WHERE إضافية، أو ببساطة التحقق من أن بيانات محددة مُضمَّنة في مجموعة النتائج. بعد إدخال قيمة في حقل البحث، سيُحدَّث جزء النتائج ويعرض السجلات التي تحتوي على قيمة تطابق القيمة المُدخلة. في هذا المثال، سنبحث عن جميع حالات breakfast في جدول hackernews ضمن التعليقات التي تحتوي على ClickHouse (دون تمييز حالة الأحرف): ملاحظة: سيُعاد أي سجل يطابق فيه أي حقل القيمة المُدخلة. على سبيل المثال، السجل الثالث في لقطة الشاشة أعلاه لا يطابق ‘breakfast’ في الحقل by، لكن الحقل text يطابقها:

ضبط إعدادات ترقيم الصفحات

بشكل افتراضي، تعرض جزء النتائج جميع سجلات النتائج في صفحة واحدة. وبالنسبة إلى مجموعات النتائج الأكبر، قد يكون من الأفضل تقسيم النتائج على صفحات لتسهيل عرضها. ويمكن إجراء ذلك باستخدام مُحدِّد ترقيم الصفحات في الزاوية السفلية اليمنى من جزء النتائج: سيؤدي تحديد حجم الصفحة إلى تطبيق ترقيم الصفحات فورًا على مجموعة النتائج، وستظهر خيارات التنقل في منتصف تذييل جزء النتائج

تصدير بيانات نتائج الاستعلام

يمكن تصدير نتائج الاستعلام بسهولة بتنسيق CSV مباشرةً من SQL Console. للقيام بذلك، افتح قائمة ••• في الجانب الأيمن من شريط أدوات جزء النتائج، ثم اختر ‘تنزيل بتنسيق CSV’.

تصوّر بيانات الاستعلام

يمكن فهم بعض البيانات بسهولة أكبر عند عرضها في صورة مخطط. يمكنك إنشاء تصورات بسرعة من بيانات نتيجة الاستعلام مباشرةً من SQL Console ببضع نقرات فقط. على سبيل المثال، سنستخدم استعلامًا يحسب الإحصاءات الأسبوعية لرحلات سيارات الأجرة في NYC:
SELECT
   toStartOfWeek(pickup_datetime) AS week,
   sum(total_amount) AS fare_total,
   sum(trip_distance) AS distance_total,
   count(*) AS trip_total
FROM
   nyc_taxi
GROUP BY
   1
ORDER BY
   1 ASC
من دون تصور، يصعب فهم هذه النتائج. لنحوّلها إلى مخطط بياني.

إنشاء المخططات

لبدء إنشاء التصور، حدِّد خيار ‘Chart’ من شريط أدوات جزء النتائج. ستظهر لوحة إعدادات المخطط: سنبدأ بإنشاء مخطط شريطي بسيط لتتبّع trip_total حسب week. ولتنفيذ ذلك، سنسحب الحقل week إلى المحور السيني، والحقل trip_total إلى المحور الصادي: تدعم معظم أنواع المخططات إضافة عدة حقول إلى المحاور الرقمية. وللتوضيح، سنسحب الحقل fare_total إلى المحور الصادي:

تخصيص المخططات

يدعم SQL Console عشرة أنواع من المخططات يمكن اختيارها من محدد نوع المخطط في لوحة إعدادات المخطط. على سبيل المثال، يمكننا بسهولة تغيير نوع المخطط السابق من مخطط أعمدة إلى مخطط مساحي: تتوافق عناوين المخططات مع اسم الاستعلام الذي يوفّر البيانات. وسيؤدي تحديث اسم الاستعلام إلى تحديث عنوان المخطط أيضًا: يمكن أيضًا ضبط عدد من خصائص المخطط الأكثر تقدمًا في قسم ‘Advanced’ من لوحة إعدادات المخطط. وللبدء، سنضبط الإعدادات التالية:
  • العنوان الفرعي
  • عناوين المحاور
  • اتجاه التسميات على المحور السيني
سيُحدَّث مخططنا وفقًا لذلك: في بعض الحالات، قد يكون من الضروري ضبط مقياس كل محور لكل حقل على حدة. ويمكن أيضًا تنفيذ ذلك في قسم ‘Advanced’ من لوحة إعدادات المخطط، وذلك بتحديد القيمتين الصغرى والكبرى لنطاق المحور. على سبيل المثال، يبدو المخطط أعلاه جيدًا، ولكن لتوضيح الارتباط بين الحقلين trip_total وfare_total، تحتاج نطاقات المحاور إلى بعض الضبط:

مشاركة الاستعلامات

يُمكّنك SQL Console من مشاركة الاستعلامات مع فريقك. وعند مشاركة استعلام، يمكن لجميع أعضاء الفريق رؤيته وتحريره. وتُعد الاستعلامات المشتركة وسيلة فعّالة للتعاون مع فريقك. لمشاركة استعلام، انقر على الزر ‘Share’ في شريط أدوات الاستعلام. سيفتح مربع حوار يتيح لك مشاركة الاستعلام مع جميع أعضاء الفريق. وإذا كان لديك عدة فرق، يمكنك اختيار الفريق الذي تريد مشاركة الاستعلام معه. في بعض الحالات، قد يكون من الضروري ضبط مقاييس المحاور لكل حقل بشكل مستقل. ويمكن أيضًا تنفيذ ذلك من قسم ‘Advanced’ في لوحة إعدادات المخطط، وذلك بتحديد قيمتي الحد الأدنى والحد الأقصى لنطاق المحور. على سبيل المثال، يبدو المخطط أعلاه جيدًا، ولكن لتوضيح الارتباط بين الحقلين trip_total وfare_total، تحتاج نطاقات المحاور إلى بعض الضبط:
آخر تعديل في ٢٥ يونيو ٢٠٢٦