منسّق SQL

حسّن تنسيق SQL واقرأ شرحًا عربيًا واضحًا لكل عبارة.

إدخال SQL

المسافة البادئة
الكلمات المفتاحية
query.sql
العرض
ألصق استعلامًا لتنسيقه أو شرحه.

يُنسّق SQL ويُحلّل داخل متصفحك. لا يُرفع أي شيء إلى BroBroGo.

الأسئلة الشائعة

ما لهجات SQL التي يمكنه تنسيقها؟

يدعم SQL القياسي وPostgreSQL وMySQL وMariaDB وSQL Server ‏(T-SQL) وOracle ‏(PL/SQL) وSQLite وBigQuery وSnowflake وSpark SQL. اختر ما يطابق قاعدة بياناتك لتُعالج الكلمات المفتاحية والاقتباس بالطريقة التي يتوقعها ذلك المحرك.

كيف يعمل الشرح بلغة واضحة؟

يقرأ بنية الاستعلام، أي نوع العبارة وكل عبارة فرعية مثل SELECT وFROM وJOIN وWHERE وGROUP BY وORDER BY، ويوضح وظيفة كل منها. يصف شكل الاستعلام لا خطة تنفيذه في قاعدة البيانات، لذلك يعمل حتى مع SQL الجزئي أو الخاص بمورّد.

هل من الآمن لصق استعلامات بيئة الإنتاج؟

نعم. يجري التنسيق والتحليل بالكامل داخل متصفحك؛ ولا يغادر SQL الصفحة أبدًا.

أهمية تنسيق كود SQL وقابليته للقراءة

تعد كتابة كود SQL منظم ومرتب أمرًا أساسيًا لتسهيل صيانة قواعد البيانات وتطويرها. عندما يكتب المطورون أو محللو البيانات استعلامات معقدة، غالبًا ما تضيع البنية المنطقية للاستعلام بسبب غياب التنسيق الموحد، مما يجعل اكتشاف الأخطاء البرمجية وتعديل الكود عملية صعبة وتستغرق وقتًا طويلًا. يساعد تنسيق الكود في إبراز العلاقات بين الجداول، وتحديد الشروط المفروضة في الاستعلام، وفهم تدفق البيانات بشكل أسرع.

يسهم التنسيق الجيد أيضًا في تعزيز التعاون بين أعضاء الفريق الواحد؛ حيث يمكن لأي مطور أو مسؤول قواعد بيانات (DBA) أو موظف دعم فني قراءة الاستعلام وفهمه مباشرة دون الحاجة إلى إعادة ترتيبه يدويًا. يتيح استخدام أداة "منسّق SQL" تحويل الكود غير المرتب إلى كود منظم يتبع قواعد تنسيق واضحة ومحددة، مما يقلل من وقت مراجعة الكود ويحسن كفاءة العمل الجماعي.


مدخلات الأداة وخيارات التخصيص

تتيح الأداة تخصيص عملية التنسيق عبر مجموعة من المدخلات والخيارات التي تلائم مختلف بيئات العمل وقواعد البيانات:

  • إدخال SQL: النص البرمجي للاستعلام المراد تنسيقه، بحد أقصى يصل إلى 300,000 حرف.
  • اللهجة: اختيار لهجة SQL المناسبة لقاعدة البيانات المستخدمة لضمان معالجة الكلمات المفتاحية والاقتباس بالطريقة الصحيحة. تشمل اللهجات المدعومة:
    • Standard SQL
    • PostgreSQL
    • MySQL
    • MariaDB
    • SQL Server (T-SQL)
    • Oracle (PL/SQL)
    • SQLite
    • BigQuery
    • Snowflake
    • Spark SQL
  • المسافة البادئة: تحديد أسلوب الإزاحة لتنظيم الكود، والاختيارات المتاحة هي: مسافتان (2 spaces)، أو 4 مسافات (4 spaces)، أو علامة التبويب (tab).
  • الكلمات المفتاحية: تحديد حالة الأحرف للكلمات المفتاحية الخاصة بلغة SQL، وهي:
    • كبيرة
    • صغيرة
    • إبقاء (Keep) للحفاظ على الحالة الأصلية كما هي في النص المدخل.

مخرجات التنسيق وإحصاءات الاستعلام

عند معالجة الاستعلام، تقدم الأداة مخرجات دقيقة توضح تفاصيل النص المنسق:

  1. تم التنسيق: النص النهائي للاستعلام بعد تطبيق قواعد التنسيق واللهجة المختارة.
  2. الأسطر: عدد الأسطر التي يتكون منها الاستعلام المنسق.
  3. الأحرف: العدد الإجمالي للأحرف في النص المنسق.
  4. الحجم: الحجم الإجمالي لملف النص المنسق.

في حال حدوث خطأ أثناء التنسيق، تتبع الأداة سلوكًا محددًا لحماية البيانات؛ فإذا تجاوز الاستعلام المدخل الحد الأقصى المسموح به (300,000 حرف)، تظهر رسالة الخطأ: "هذا الاستعلام كبير جدًا بحيث تتعذّر معالجته. جرّب استعلامًا أصغر.". أما إذا كان الاستعلام يحتوي على أخطاء في الصياغة البرمجية، فستعرض الأداة رسالة: "تعذّر تنسيق SQL هذا — تحقّق من الصياغة.". وفي كلتا الحالتين، لا يتم استبدال المخرجات السابقة برسالة الخطأ بل تظل معروضة. عند الضغط على زر "مسح"، يتم تفريغ منطقتي الإدخال والمخرجات تمامًا، وتُخفى تفاصيل الأخطاء، وتظهر رسالة "تم المسح.".


شرح عبارات SQL ودورها الهيكلي

تتميز الأداة بتقديم شرح تفصيلي باللغة العربية يوضح بنية الاستعلام عبارة تلو الأخرى. يعتمد هذا الشرح على تحليل الهيكل البنيوي للاستعلام وليس على خطة تنفيذ قاعدة البيانات، مما يسمح بتحليل الاستعلامات الجزئية أو تلك الخاصة بمورد معين.

عند تفعيل ميزة الشرح، تظهر حالة التحليل مثل "تم شرح {count} عبارة.". وإذا كان الاستعلام يحتوي على أكثر من 25 عبارة، فإن الأداة تعرض أول 25 عبارة فقط وتُرفقها بملاحظة "تُعرض أول 25 فقط.". يتم ترقيم العبارات المتعددة باستخدام التسمية "العبارة {n}".

تُصنف الأداة نوع العبارة الإجمالي (Kind) وفقًا للجدول التالي:

نوع العبارة الشرح الوظيفي في الأداة
SELECT استعلام يقرأ الصفوف ويعيدها دون تغيير أي شيء.
INSERT يضيف صفوفًا جديدة إلى جدول.
UPDATE يغيّر القيم في صفوف موجودة.
DELETE يحذف صفوفًا من جدول.
CREATE يعرّف كائنًا جديدًا مثل جدول أو طريقة عرض أو فهرس.
ALTER يغيّر تعريف كائن موجود.
DROP يزيل كائنًا من قاعدة البيانات نهائيًا.
TRUNCATE يفرغ جدولًا بحذف كل صفوفه.
WITH ينشئ نتيجة مؤقتة مسماة (CTE) للاستعلام الذي يليها.
MERGE يدرج صفوفًا أو يحدّثها أو يحذفها في عملية واحدة مجمعة.
OTHER عبارة SQL.

كما تقوم الأداة بتحليل دور كل جزء تفصيلي (Role) داخل العبارة البرمجية وتوضيحه للمستخدم:

  • الأعمدة والتعبيرات المُعادة: يمثل دور الجزء SELECT.
  • الأعمدة المُعادة بعد إزالة الصفوف المكررة: يمثل دور الجزء SELECT DISTINCT.
  • الجدول (أو الاستعلام الفرعي) الذي تُقرأ منه البيانات: يمثل دور الجزء FROM.
  • يدمج كل صف مع الصفوف المطابقة من جدول آخر: يمثل دور الجزء JOIN.
  • يبقي الصفوف المطابقة لهذا الشرط فقط: يمثل دور الجزء WHERE.
  • يجمع الصفوف في مجموعات كي تُحسب دوال تجميع مثل COUNT أو SUM لكل مجموعة: يمثل دور الجزء GROUP BY.
  • يرشّح تلك المجموعات بعد حساب القيم المجمعة: يمثل دور الجزء HAVING.
  • يرتّب الصفوف الناتجة: يمثل دور الجزء ORDER BY.
  • يحدّد أقصى عدد من الصفوف المُعادة: يمثل دور الجزء LIMIT.
  • يتخطى عددًا من الصفوف قبل إعادة النتائج: يمثل دور الجزء OFFSET.
  • يدمج هذه النتائج مع نتائج استعلام آخر: يمثل دور الجزء UNION.
  • قيم الصفوف التي يجري إدراجها: يمثل دور الجزء VALUES.
  • الجدول الذي يستقبل الصفوف الجديدة: يمثل دور الجزء INTO.
  • قيم الأعمدة الجديدة المراد تعيينها: يمثل دور الجزء SET.
  • الجدول الذي تتغيّر صفوفه: يمثل دور الجزء UPDATE.
  • الجدول الذي تُحذف منه الصفوف: يمثل دور الجزء DELETE FROM.
  • يعرّف مجموعة نتائج مؤقتة مسماة تُستخدم أدناه: يمثل دور الجزء WITH.
  • العبارة كما هي: يمثل دور الجزء STATEMENT.

معالجة البيانات محليًا وخصوصية المستخدم

تتم عملية تنسيق كود SQL وتحليله بالكامل داخل متصفح الويب الخاص بالمستخدم. لا يتم رفع أي نص أو استعلام إلى خوادم BroBroGo، مما يضمن بقاء البيانات والتعليمات البرمجية داخل الصفحة دون أن تغادر جهاز المستخدم. بالإضافة إلى ذلك، تقوم الأداة بحفظ المسودات وتفضيلات المظهر (مثل تفعيل المحرّر الداكن) محليًا في المتصفح للرجوع إليها لاحقًا بسهولة.


الأسئلة الشائعة

ما لهجات SQL التي يمكنه تنسيقها؟
يدعم SQL القياسي وPostgreSQL وMySQL وMariaDB وSQL Server ‏(T-SQL) وOracle ‏(PL/SQL) وSQLite وBigQuery وSnowflake وSpark SQL. اختر ما يطابق قاعدة بياناتك لتُعالج الكلمات المفتاحية والاقتباس بالطريقة التي يتوقعها ذلك المحرك.

كيف يعمل الشرح بلغة واضحة؟
يقرأ بنية الاستعلام، أي نوع العبارة وكل عبارة فرعية مثل SELECT وFROM وJOIN وWHERE وGROUP BY وORDER BY، ويوضح وظيفة كل منها. يصف شكل الاستعلام لا خطة تنفيذه في قاعدة البيانات، لذلك يعمل حتى مع SQL الجزئي أو الخاص بمورّد.

هل من الآمن لصق استعلامات بيئة الإنتاج؟
نعم. يجري التنسيق والتحليل بالكامل داخل متصفحك؛ ولا يغادر SQL الصفحة أبدًا.

ماذا يحدث إذا كان استعلام SQL يحتوي على خطأ في الصياغة؟
إذا كان الاستعلام يحتوي على أخطاء في الصياغة، ستعرض الأداة رسالة تنبيه تفيد بعدم القدرة على التنسيق، مع الاحتفاظ بالمخرجات السابقة دون استبدالها لتجنب فقدان العمل.