منسق SQL وتجميله
الصق استعلامًا فوضويًا واحصل على SQL نظيف بمسافات بادئة متسقة. يدعم 17 لهجة، وحالة الكلمات المفتاحية، ومصغّرًا بنقرة واحدة، وكل ذلك في متصفحك.
يعمل في متصفحكبدون تسجيللا يُرفع شيء
طريقة استخدام منسق SQL
- الصق عبارة SQL واحدة أو أكثر في مربع الإدخال، أو افتح ملف
.sql. - اختر لهجة قاعدة بياناتك لتُحلَّل صياغتها بشكل صحيح، مثل التحويلات
::و[brackets]وعلامات backtick وسلاسل$$. - اضبط حالة الكلمات المفتاحية (UPPER أو lower أو إبقاء كما هي)، والمسافة البادئة، وعدد الأسطر الفارغة بين العبارات.
- انتقل إلى تصغير لإزالة التعليقات والمسافات من أجل السجلات أو أدوات ORM أو معاملات URL.
- انسخ النتيجة أو نزّلها كملف
.sql.
لماذا تنسّق SQL؟
عادةً ما تصل الاستعلامات المنسوخة من سجلات ORM أو خطط الاستعلام أو كود التطبيق كسطر واحد طويل. وضع كل جملة (SELECT وFROM وJOIN وWHERE وGROUP BY) في سطر مستقل مع مسافات بادئة للأعمدة والشروط يجعل المنطق مقروءًا. كما يجعل فروقات مراجعة الكود أصغر ويساعدك على اكتشاف شرط join مفقود أو OR في غير موضعه.
اصطلاحات أسلوب SQL
- الكلمات المفتاحية بأحرف كبيرة (
SELECTوWHERE) تفصل صياغة SQL عن أسماء الجداول والأعمدة. توصي بذلك معظم أدلة الأسلوب، رغم أن الأحرف الصغيرة شائعة في فرق dbt والتحليلات. - عمود واحد في كل سطر يجعل إضافة الأعمدة أو إزالتها فرقًا من سطر واحد.
- المسافات البادئة المتسقة (مسافتان أو 4 مسافات) داخل الجمل والاستعلامات الفرعية تُظهر التداخل بنظرة واحدة.
- منهيات العبارات: أنهِ كل عبارة بـ
;لتكون السكربتات متعددة العبارات واضحة لا لبس فيها.
لهجات SQL المدعومة
SQL القياسي وPostgreSQL وMySQL وMariaDB وSQLite وMicrosoft SQL Server (T-SQL) وOracle PL/SQL وGoogle BigQuery وSnowflake وAmazon Redshift وSpark SQL وTrino/Presto وHive وIBM Db2 وCouchbase N1QL وSingleStore وTiDB. إذا فشل تحليل استعلام، فجرّب لهجة أكثر تحديدًا: لا تُتعرَّف @variables ومعاملات $1 والعوامل الخاصة بالمورّد إلا في لهجتها.
ماذا يفعل المصغّر
يزيل وضع التصغير تعليقات -- و# و/* */، ويطوي المسافات وفواصل الأسطر إلى مسافات مفردة، ويحذف المسافات حول الفواصل والأقواس. تُنسخ السلاسل الحرفية والمعرّفات المقتبسة ('…' و"…" و`…` و[…] و$$…$$) بايتًا بايتًا، فلا يتغير معنى الاستعلام أبدًا.
الأسئلة الشائعة
هل يُرسل SQL الخاص بي إلى خادم؟
هل يغيّر التنسيق ما يفعله الاستعلام؟
لماذا أحصل على خطأ تحليل في SQL صالح؟
::type أو SQL Server للأسماء [bracketed] و@params.