مُنسِّق SQL
نسِّق استعلامات SQL بحيث تكون كل جملة في سطرها الخاص، قوائم أعمدة بمسافة بادئة، واستعلامات فرعية مُتداخلة. تُترَك الكلمات المفتاحية داخل حرفيات السلاسل سليمة، وهذا شيء تُخطئه أدوات التنسيق الساذجة.
- الملفات لا تغادر جهازك أبدًا
- مجاني، بدون تسجيل
- بدون علامات مائية
- يعمل دون اتصال بعد التحميل
كيفية استخدام مُنسِّق SQL
- 1
ألصق استعلامك
سطر واحد طويل، أو شيء مُنسَّق جزئيًا بالفعل.
- 2
حدّد تفضيلاتك
حجم المسافة البادئة، وما إذا كانت الكلمات المفتاحية تُكتَب بأحرف كبيرة.
- 3
انسخ النتيجة
جاهزة للصق مرة أخرى في محررك أو ترحيلك.
الخطأ المحدد الذي يُعثِر أدوات تنسيق SQL القائمة على التعبيرات النمطية
مُنسِّق يُكبِّر الكلمات المفتاحية بمطابقة كلمات كاملة بتعبير نمطي ليس له طريقة لمعرفة ما إذا كان ظهور معين لكلمة "order" هو الكلمة المفتاحية SQL `ORDER` (كما في `ORDER BY`) أو قيمة سلسلة حرفية يصادف أنها تحتوي تلك الكلمة — استعلام يُصفِّي صفوفًا `WHERE description = 'the order from stock'` يحتوي كلمة "order" داخل سلسلة بعلامات اقتباس، لا تعمل على الإطلاق ككلمة مفتاحية. مُنسِّق ساذج يُكبِّر كل كلمة مطابقة بغض النظر عن السياق، مُفسدًا قيمة السلسلة الحرفية إلى 'the ORDER FROM stock' ويُغيِّر بصمت ما يُصفِّيه الاستعلام فعليًا. تقسيم الاستعلام إلى رموز بشكل صحيح — التعرف على حدود السلاسل بعلامات الاقتباس قبل تحديد ما يُحتسَب ككلمة مفتاحية — هو ما يمنع هذا، وهو بالضبط نوع الخطأ الذي يظهر فقط مع بيانات حقيقية تحتوي كلمات يصادف أنها تطابق كلمات SQL المفتاحية، لذا من السهل تفويته عند الاختبار باستعلامات عينة بسيطة.
ماذا يعني "يُنسِّق لكن لا يُحلِّل" عمليًا
تتعرف هذه الأداة على بنية الجُمَل المشتركة بين PostgreSQL وMySQL وSQL Server وSQLite وOracle — SELECT وFROM وWHERE وJOIN وGROUP BY وORDER BY وأقاربها — بشكل جيد بما يكفي لوضع مسافة بادئة لكل جملة في سطرها الخاص وتداخل الاستعلامات الفرعية بشكل صحيح. لا تبني فهمًا كاملًا لقواعد نحوية كاملة لأي قاعدة بيانات معينة، بما في ذلك امتدادات خاصة بمورّد مثل صياغة مصفوفة PostgreSQL أو موضع جملة `TOP` في SQL Server. النتيجة العملية أن الصياغة الخاصة بلهجة معينة تمر عبر المُنسِّق دون لمس بدلًا من التسبب بخطأ، لكنها أيضًا لن تحصل على نفس المسافة البادئة الدقيقة التي تحصل عليها الجُمَل المشتركة — مقايضة معقولة مقابل دعم خمس لهجات بمُنسِّق واحد بدلًا من الحاجة لأداة منفصلة لكل محرك قاعدة بيانات.
لماذا لا يمكن للتنسيق تغيير ما يفعله استعلام
الكلمات المفتاحية في SQL غير حساسة لحالة الأحرف بمواصفات اللغة نفسها — `SELECT` و`Select` و`select` متطابقة لأي محرك SQL — وهذا بالضبط ما يجعل تكبيرها أو تصغيرها عملية تجميلية خالصة دون أي خطر لتغيير السلوك. الأمر نفسه ينطبق على المسافات البيضاء والأسطر الجديدة التي يُضيفها هذا المُنسِّق: استعلام مُوزَّع على اثني عشر سطرًا بمسافة بادئة يعمل مطابقًا لنفس الاستعلام مُكدَّسًا في سطر واحد. لا شيء من التنسيق يمس الرموز الفعلية التي تُحدِّد أي الجداول تُقرَأ، أي الشروط تُصفِّي الصفوف، أو أي القيم تُدرَج — فقط كيف تُعرَض بصريًا نفس الاستعلام المنطقي لإنسان يقرأه لاحقًا.
قراءة ترحيل طويل أو استعلام مُولَّد
استعلام مُولَّد بواسطة ORM، مُصدَّر من واجهة رسومية لقاعدة بيانات، أو مكتوب كسطر واحد طويل أثناء ترحيل عاجل عادةً صحيح وظيفيًا لكنه صعب حقًا مراجعته لشخص كما هو مكتوب — استعلام بخمسة عشر انضمامًا (join) دون أسطر جديدة يُصعِّب رؤية أي الشروط تنتمي لأي انضمام، أو ما إذا كانت جملة WHERE تُصفِّي الجدول الصحيح. إعادة تنسيقه بحيث تكون كل جملة وكل انضمام في سطره الخاص، بمسافة بادئة تعكس بنية الاستعلام الفعلية، عادةً الطريقة الأسرع لفهم ما يفعله استعلام طويل مُولَّد فعليًا قبل الموافقة عليه في مراجعة كود أو تصحيح لماذا يُعيد الصفوف الخاطئة.
الأسئلة الشائعة
هل سيُغيِّر ما يفعله استعلامي؟
لا. يتغير فقط المسافات البيضاء وتكبير أحرف الكلمات المفتاحية — لا تُعاد ترتيب أي جملة ولا تُعاد كتابة أي رمز. الكلمات المفتاحية في SQL غير حساسة لحالة الأحرف، لذا تكبيرها لا يمكن أن يُغيِّر السلوك.
ماذا عن النص بين علامات الاقتباس؟
يُترَك بالضبط كما كُتب. يُقسِّم المُنسِّق الاستعلام إلى رموز قبل لمس أي شيء، لذا سلسلة مثل 'check the order from stock' تحافظ على "order" و"from" بأحرف صغيرة بدلًا من تكبيرها ككلمات مفتاحية. أدوات التنسيق القائمة على التعبيرات النمطية تُخطئ في هذا بشكل روتيني.
أي لهجات SQL تعمل؟
بنية الجُمَل المشتركة التي تتقاسمها PostgreSQL وMySQL وSQL Server وSQLite وOracle. يُنسِّق بدلًا من التحليل، لذا تمر الصياغة الخاصة بلهجة معينة دون لمس بدلًا من التسبب بخطأ — لكنها أيضًا لن تحصل على مسافة بادئة خاصة.
هل تُرسَل استعلاماتي إلى أي مكان؟
لا. يحدث التنسيق في متصفحك. هذا مهم لأن الاستعلامات الحقيقية تحمل أسماء جداول وأسماء أعمدة وأحيانًا بيانات حرفية للعملاء — لا شيء من هذا يجب لصقه في خادم شخص غريب.
مهام شائعة لأداة مُنسِّق SQL
قد تحتاج أيضًا إلى
مُنسِّق JSON
نسِّق وتحقق من وصغِّر JSON فورًا
مُنسِّق JavaScript
نسِّق JS وTypeScript بمُحلِّل حقيقي
مُنسِّق XML
ضع مسافة بادئة لـXML واكتشف الوسوم غير المتوازنة
مُرمِّز ومُفكِّك ترميز Base64
رمِّز وفُك ترميز Base64 وBase64URL
مُنسِّق CSS
جمِّل أو صغِّر أوراق الأنماط
أداة تصغير CSS
صغّر أوراق الأنماط بأداة تصغير حقيقية تفهم CSS
مولّد التجزئة (Hash)
MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512
مُنسِّق HTML
جمِّل وضع مسافة بادئة لـHTML بشكل صحيح