tigtools

منسق SQL

الصق استعلامًا، واختر لهجة قاعدة بياناتك، واحصل على SQL منسّق بتباعد موحّد. لا تُرسل أي بيانات إلى خادم.

تعمل في متصفحك لا يلزم التسجيل

المسافة البادئة

كيفية الاستخدام

  1. الصق عبارة SQL واحدة أو أكثر، أو اضغط على «جرّب مثالًا».
  2. اختر لهجة قاعدة بياناتك حتى تتعرّف الأداة على كلماتها المفتاحية وعلامات الاقتباس والمعاملات.
  3. حدّد حالة أحرف الكلمات المفتاحية والمسافة البادئة. يظهر الاستعلام المنسّق على اليمين أثناء الكتابة.
  4. اضغط على «تصغير» للحصول على نسخة في سطر واحد، ثم انسخ الناتج أو نزّله في ملف .sql.

كيف تعمل الأداة

يستخدم التنسيق مكتبة sql-formatter مفتوحة المصدر. وهي تقسّم الاستعلام إلى رموز وفق قواعد اللهجة التي تختارها، وتضع كل عبارة رئيسية (SELECT وFROM وJOIN وWHERE وGROUP BY وORDER BY…) في سطر مستقل، وتُزِيح قوائم الأعمدة والشروط، وتطبّق حالة الأحرف التي تحددها للكلمات المفتاحية. يغيّر الأداة المسافات البيضاء، وحالة أحرف الكلمات المفتاحية إذا طلبت ذلك؛ أما المعرّفات والسلاسل النصية والتعليقات فتبقى كما هي. من المهم اختيار اللهجة المناسبة: فعلى سبيل المثال، تُستخدم العلامات الخلفية لإحاطة الأسماء في MySQL، والأقواس المربعة في SQL Server، وتبدأ أجسام الدوال في PostgreSQL بالرمز $$.

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

تعمل أداة التصغير بطريقة مختلفة: فهي تحتفظ بكل الرموز، ولا تفعل سوى دمج كل سلسلة من المسافات البيضاء في مسافة واحدة وإزالة التعليقات (مع الإبقاء على تلميحات تحسين الأداء مثل /*+ INDEX(t) */ وتعليقات MySQL من نمط /*! … */ لأنها تغيّر السلوك). وتنسخ السلاسل النصية والمعرّفات المحاطة بعلامات الاقتباس والأجسام المحاطة بعلامات اقتباس الدولار كما هي. إذا لم يُغلَق اقتباس أو تعليق، تتوقف أداة التصغير مع عرض خطأ بدلًا من التخمين.

أمثلة

قراءة استعلام من سجل

يعرض سجل استعلام بطيء سطرًا واحدًا من 400 حرف. باستخدام لهجة MySQL والكلمات المفتاحية بالأحرف الكبيرة، يتحول إلى كتلة سهلة القراءة، يظهر فيها كل شرط JOIN وWHERE في سطر مستقل، ما يجعل اكتشاف الفهرس المفقود سهلًا.

تنسيق موحّد لمراجعة التعليمات البرمجية

ينسّق فريق العمل كل عملية ترحيل باستخدام لهجة PostgreSQL، والكلمات المفتاحية بالأحرف الصغيرة، ومسافة بادئة من 4 مسافات قبل الإيداع، بحيث لا تُظهر الفروقات إلا التغييرات الفعلية.

تضمين SQL في التعليمات البرمجية

تحوّل أداة التصغير استعلام تقرير متعدد الأسطر يتضمن تعليقات إلى سطر واحد، مثل SELECT id, name FROM users WHERE active = 1 ORDER BY name، ليكون جاهزًا للصقه في سلسلة نصية ضمن أحد البرامج النصية.

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

ما قواعد البيانات المدعومة؟

Standard SQL وMySQL وMariaDB وPostgreSQL وSQLite وSQL Server (T-SQL) وOracle PL/SQL وBigQuery وSnowflake وRedshift وSpark SQL وHive وTrino/Presto وDuckDB وIBM Db2 وSingleStoreDB وTiDB وCouchbase N1QL.

هل يغيّر التنسيق ما يفعله الاستعلام؟

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

لماذا ظهرت لي رسالة «تعذّر التنسيق»؟

واجه محلّل الرموز جزءًا لم يتمكن من تحديد موضعه، وغالبًا ما يكون قوسًا أو علامة اقتباس غير مغلقة، أو صياغة من لهجة مختلفة. راجع السطر والعمود في الرسالة، وتأكد من أن اللهجة المحددة تطابق قاعدة بياناتك.

هل تتحقق الأداة من صحة SQL؟

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

الخصوصية

يُنسّق SQL في متصفحك باستخدام JavaScript. ولا يُرفع أو يُخزّن أو يُضمّن في التحليلات، كما أن الأداة لا تتصل بقاعدة بيانات مطلقًا.