تنسيق SQL

منسّق SQL يضع كل عبارة رئيسية في سطر مستقل. فمثلًا "select a from t where x=1" تصبح 3 أسطر: "SELECT a"، "FROM t"، "WHERE x = 1".

هل حُلّت مشكلتك؟
فضّلنا على Google

طريقة الاستخدام

  1. الصق استعلام SQL في مربع الإدخال. يظهر استعلام نموذجي لتوضيح النتيجة.
  2. اختر أن تكون الكلمات المفتاحية بأحرف كبيرة أو صغيرة أو كما كُتبت، واختر للإزاحة مسافتين أو 4 مسافات أو علامة جدولة (Tab).
  3. انسخ الاستعلام المنسق من مربع النتيجة. يتحدث أثناء الكتابة، ويمكنك لصق عدة عبارات تفصل بينها فواصل منقوطة.

طريقة الحساب

تقسّم الأداة الـ 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 الخاص بي إلى أي مكان؟

لا. يجري التنسيق في متصفحك، فتبقى الاستعلامات التي فيها أسماء جداول أو بيانات على جهازك.