Pack Camo

منسق SQL ومجمّله

اضبط المسافات البادئة ونظّم SQL لـ PostgreSQL وMySQL وSQLite وSQL Server وغيرها.

كل شيء يعمل محليًا — لا يُرفع أي شيء.

SQL

7 أسطر · 442 حرفًا

SQL المنسق

جارٍ التنسيق…

SQL سهل القراءة باللهجة التي تكتب بها

يقبل منسق SQL هذا استعلامًا بأي طول، حتى عدة عبارات في وقت واحد، ويضبط مسافاته البادئة باتساق: جملة واحدة في كل سطر، والأعمدة والشروط متحاذية، والكلمات المفتاحية بحالة الأحرف التي تفضلها. يفهم صياغة أكثر من خمس عشرة لهجة، من PostgreSQL وMySQL وSQL Server إلى BigQuery وSnowflake وOracle PL/SQL، لذا تبقى العوامل وعلامات الاقتباس والعناصر النائبة الخاصة بكل لهجة كما هي. انتقل إلى «تصغير» لإعادة الاستعلام إلى سطر واحد لملف إعدادات أو سلسلة نصية في الكود. كل شيء يعمل في متصفحك؛ ولا تُرفع استعلاماتك أبدًا.

كيفية تنسيق استعلام SQL

  1. 1الصق SQL في اللوحة اليسرى، أو ابدأ من الاستعلام النموذجي.
  2. 2اختر اللهجة المكتوب بها الاستعلام. يكفي Standard SQL لمعظم الاستعلامات البسيطة؛ ويهم اختيار اللهجة الصحيحة لأشياء مثل التحويلات :: في PostgreSQL، والمعرّفات بعلامات backtick في MySQL، و[brackets] في SQL Server.
  3. 3اضبط حالة أحرف الكلمات المفتاحية والمسافة البادئة، وافتح خيارات إضافية لحالة أحرف أنواع البيانات والدوال، والمسافة البادئة الجدولية، وموضع AND/OR، والأسطر الفارغة بين العبارات.
  4. 4يظهر الاستعلام المنسق على اليمين أثناء الكتابة. إذا تعذر تحليل الاستعلام، يُعرض السطر والعمود الذي فيه المشكلة.
  5. 5انسخ النتيجة، أو نزّلها كملف .sql، أو اختر تصغير لضغطها في سطر واحد.

لماذا تنسّق SQL؟

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

التنسيق المتسق يجعل الفروقات (diffs) أصغر أيضًا. عندما ينسّق الفريق كله الاستعلامات بالطريقة نفسها، يظهر الشرط المعدّل كسطر واحد متغير بدلًا من فقرة أعيد ترتيبها.

شرح خيارات التنسيق

حالة أحرف الكلمات المفتاحية
UPPER يجعل SELECT وFROM وWHERE بارزة عن أسماء الجداول والأعمدة، وهو العرف الأكثر شيوعًا. lower يناسب الفرق التي تجد الأحرف الكبيرة مزعجة. «الإبقاء» يترك الكلمات المفتاحية كما كتبتها.
المسافة البادئة
مسافتان أو أربع مسافات، أو علامات جدولة. أما الأنماط الجدولية فتملأ الكلمات المفتاحية إلى عمود بعرض ثابت لتتحاذى التعبيرات بعدها.
موضع AND / OR
«في بداية السطر» يضع كل عامل منطقي في أول السطر، مما يسهّل تعطيل شرط واحد بتعليق؛ و«في نهاية السطر» يتركه في آخر السطر السابق.
عرض التعبير
التعبيرات بين الأقواس الأقصر من هذا العدد من الأحرف تبقى في سطر واحد؛ والأطول تُقسَّم.
عوامل متلاصقة
يكتب a+b بدلًا من a + b. أكثر إيجازًا لكنه أصعب في القراءة.

اختيار اللهجة الصحيحة

تختلف لهجات SQL في أمور أكثر مما تتوقع: طريقة اقتباس المعرّفات ("name" أو `name` أو [name])، وشكل العنصر النائب (? و$1 و:name و@param)، والكلمات المحجوزة. يستخدم المنسق قواعد منفصلة لكل لهجة، فلا يخلط بين جسم دالة $$ في PostgreSQL أو تعليق # في MySQL وبين شيء آخر.

إذا ظهر خطأ تحليل في استعلام تعرف أنه صحيح، فاللهجة أول ما يجب التحقق منه. Standard SQL صارم عن قصد ولا يعرف كل امتدادات المورّدين.

تصغير SQL

التصغير عكس التنسيق: يحذف التعليقات ويختصر كل المسافات البيضاء إلى مسافات مفردة، فينتج سطرًا واحدًا يمكنك لصقه في ملف YAML أو متغير بيئة أو سلسلة نصية حرفية. تُنسخ السلاسل النصية الحرفية والمعرّفات المقتبسة والأجسام المقتبسة بعلامة الدولار كما هي تمامًا، فتحتفظ قيمة مثل 'two spaces' بالمسافتين. وتُحفظ تلميحات المحسّن المكتوبة بصيغة /*+ … */ وتعليقات MySQL التنفيذية /*! … */ لأنها تغيّر طريقة تنفيذ الاستعلام.

تعمل على JSON بدلًا من ذلك؟ JSON Formatter يفعل الشيء نفسه لمستندات JSON، ومصغّر الكود يتعامل مع CSS وJavaScript وHTML.

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

هل يُرسل SQL الخاص بي إلى خادم؟
لا. يعمل التنسيق والتصغير بالكامل في متصفحك، لذا لا تغادر جهازك أبدًا الاستعلامات التي تحتوي على أسماء جداول أو بيانات عملاء أو بيانات اعتماد.
ما لهجات SQL المدعومة؟
Standard SQL وPostgreSQL وMySQL وMariaDB وSQLite وSQL Server (T-SQL) وOracle PL/SQL وBigQuery وSnowflake وAmazon Redshift وSpark SQL وHive وTrino وPresto وDuckDB وClickHouse وIBM Db2 وDb2 for IBM i وSingleStoreDB وTiDB وCouchbase N1QL.
هل يغيّر التنسيق ما يفعله استعلامي؟
لا. تتغير المسافات البيضاء فقط، وإن اخترت، حالة أحرف الكلمات المفتاحية وأنواع البيانات والدوال. لا تُعدَّل أبدًا المعرّفات المقتبسة ولا السلاسل النصية الحرفية. تغيير حالة أحرف المعرّفات غير المقتبسة آمن في معظم قواعد البيانات، لكن اتركه على «الإبقاء» إذا كانت قاعدة بياناتك تميّز حالة الأحرف فيها.
لماذا يظهر لي خطأ تحليل؟
إما أن الاستعلام فيه خطأ صياغة، مثل قوس أو علامة اقتباس غير مغلقة، أو أنه يستخدم صياغة لا تتضمنها اللهجة المختارة. تُظهر الرسالة السطر والعمود الذي توقف عنده التحليل؛ جرّب اللهجة التي تستخدمها قاعدة بياناتك فعلًا.
هل يمكنني تنسيق عدة عبارات دفعة واحدة؟
نعم. افصل بينها بفواصل منقوطة وستُنسَّق كل واحدة بدورها، مع عدد الأسطر الفارغة بينها الذي تختاره.
هل تُحفظ التعليقات؟
عند التنسيق، نعم: تبقى تعليقات السطر والكتلة في مكانها. أما التصغير فيحذفها، باستثناء تلميحات المحسّن وتعليقات MySQL التنفيذية.
كيف أصغّر استعلام SQL إلى سطر واحد؟
اختر «تصغير» أعلى الأداة. تُحذف التعليقات وتُختصر المسافات، بينما تبقى السلاسل النصية الحرفية والمعرّفات المقتبسة كما كُتبت تمامًا.