تنسيق SQL
منسّق SQL يضع كل عبارة رئيسية في سطر مستقل. فمثلًا "select a from t where x=1" تصبح 3 أسطر: "SELECT a"، "FROM t"، "WHERE x = 1".
طريقة الاستخدام
- الصق استعلام SQL في مربع الإدخال. يظهر استعلام نموذجي لتوضيح النتيجة.
- اختر أن تكون الكلمات المفتاحية بأحرف كبيرة أو صغيرة أو كما كُتبت، واختر للإزاحة مسافتين أو 4 مسافات أو علامة جدولة (Tab).
- انسخ الاستعلام المنسق من مربع النتيجة. يتحدث أثناء الكتابة، ويمكنك لصق عدة عبارات تفصل بينها فواصل منقوطة.
طريقة الحساب
تقسّم الأداة الـ SQL إلى وحدات: كلمات، وأرقام، ونصوص بين علامات اقتباس، ومعرّفات بين علامات اقتباس، وتعليقات، وعوامل، وأقواس. ولا يتغير أبدًا ما بين علامات الاقتباس أو داخل التعليقات.
العبارات الرئيسية مثل SELECT وFROM وWHERE وGROUP BY وORDER BY وHAVING وLIMIT وUNION وINSERT INTO وVALUES وUPDATE وSET وكل أنواع JOIN تبدأ بسطر جديد. وإذا احتوت قائمة SELECT أو SET على أكثر من عنصر، يوضع كل عنصر في سطر مُزاح مستقل. وتُزاح AND وOR داخل WHERE وHAVING وON تحت العبارة، باستثناء AND في BETWEEN x AND y.
القوس الذي يفتح استعلامًا فرعيًا يبدأ كتلة مُزاحة جديدة، ويعيد قوس الإغلاق الإزاحة الأصلية. وفي تعابير CASE يوضع كل WHEN وELSE في سطر مستقل. أما استدعاءات الدوال فيبقى القوس ملتصقًا باسمها، فتبقى COUNT(*) معًا.
تتغير الكلمات المفتاحية وأسماء الدوال الشائعة إلى الحالة التي تختارها. وتبقى أسماء الجداول والأعمدة كما كتبتها، لكن العمود الذي يحمل اسم كلمة مفتاحية (مثل key أو index) يتغير أيضًا. لا تتحقق الأداة من صحة الـ SQL ولا تتبع لهجة واحدة، لذا قد تُنسَّق الصياغات غير المعتادة بمسافات مختلفة قليلًا.
ما الذي يبدأ سطرًا جديدًا
| العنصر | التنسيق |
|---|---|
| SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING, LIMIT | سطر جديد عند الإزاحة الحالية |
| JOIN, LEFT JOIN, INNER JOIN وأنواع الربط الأخرى | سطر جديد، ويبقى الشرط بعد ON في السطر نفسه |
| AND, OR في WHERE وHAVING وON | سطر جديد بمستوى إزاحة أعمق |
| قائمة SELECT بعنصرين أو أكثر | عنصر في كل سطر |
| استعلام فرعي بين أقواس | كتلة مُزاحة |
| CASE ... WHEN ... END | كل WHEN في سطر |
| الفاصلة المنقوطة | سطر فارغ قبل العبارة التالية |
أسئلة شائعة
هل يغيّر التنسيق ما يفعله الاستعلام؟
لا. لا يتغير إلا المسافات وفواصل الأسطر وحالة أحرف الكلمات المفتاحية. وتبقى النصوص والتعليقات والمعرّفات بين علامات الاقتباس كما هي تمامًا. شغّل الاستعلام المنسق للتأكد إذا كان الأمر مهمًا.
ما قواعد البيانات التي يدعمها؟
ليس مرتبطًا بلهجة واحدة. يتعامل مع SQL القياسية واستعلامات MySQL وPostgreSQL وSQLite، بما فيها علامات backtick والأسماء بين علامتي اقتباس مزدوجتين و::cast والعناصر النائبة مثل $1 أو :name. وقد لا تُنسَّق جيدًا الكتل الخاصة بمورّد معيّن مثل أجسام الإجراءات المخزنة.
لماذا يبقى عنصر SELECT الوحيد في السطر نفسه؟
إذا كانت القائمة عنصرًا واحدًا فلا فائدة من فاصل السطر. ومع عنصرين أو أكثر يوضع كل عنصر في سطر مستقل.
ماذا يعني تحذير عدم الإغلاق؟
فُتحت علامة اقتباس أو تعليق كتلي ولم يُغلق. يُعامل كل ما بعده جزءًا من ذلك النص أو التعليق، فابحث عن علامة اقتباس ناقصة.
هل يُرسل الـ SQL الخاص بي إلى أي مكان؟
لا. يجري التنسيق في متصفحك، فتبقى الاستعلامات التي فيها أسماء جداول أو بيانات على جهازك.