SQL Format
الصق SQL في الصندوق أدناه واستخدم الخيارات المتاحة لتنسيقه. تم إنشاء SQL-Format بواسطة مدراء قواعد البيانات وفق معايير الصناعة والشركات التقنية الكبرى. استمتع!
ما هو SQL Format ولمن هو موجّه
SQL Format منسّق مجاني عبر الإنترنت يحوّل شيفرة SQL المزدحمة أو المكتوبة في سطر واحد أو ذات الإزاحة غير المتّسقة إلى تخطيط نظيف ومتوقّع. يبدأ كل بند في سطر خاص به، وتُقسَّم قوائم الأعمدة بحيث يكون كل عنصر في سطر، وتُزاح عمليات الربط وشروطها تحت الجدول الذي تنتمي إليه، وتُزاح الاستعلامات المتداخلة داخل أقواسها.
صُمّم للأشخاص الذين يقرؤون SQL طوال اليوم: المطوّرون الذين يراجعون طلب سحب (pull request)، ومسؤولو قواعد البيانات الذين يفكّون تشابك استعلام بطيء التُقط من سجلّ، والمحلّلون الذين يرتّبون تقريرًا قبل مشاركته، وكل من ورث عبارة من 300 سطر مكتوبة في سطر واحد. يتّبع التخطيط أعرافًا تستخدمها فرق قواعد البيانات منذ زمن طويل، وتتيح لك الخيارات أدناه مطابقة أسلوب فريقك.
كيفية استخدام المنسّق
- الصق شيفرة SQL أو اكتبها في المحرّر. يمكنك لصق عدة عبارات دفعة واحدة؛ إذ تُفصل عند الفواصل المنقوطة وتُنسَّق واحدة تلو الأخرى.
- اضبط الخيارات إذا احتجت إلى ذلك: حجم الإزاحة، والحد الأقصى لعرض السطر، وموضع الفواصل، وحالة أحرف الكلمات المفتاحية، وما إذا كانت الأقواس الافتتاحية توضع في سطر مستقل.
- انقر على تنسيق أو اضغط Ctrl + Enter (⌘ + Enter على جهاز Mac). تحلّ شيفرة SQL المنسّقة محل النص في المحرّر.
- استخدم نسخ لوضع النتيجة في الحافظة، أو مسح للبدء من جديد. يعرض شريط الحالة عدد الأسطر والأحرف وموضع المؤشر.
خيارات التنسيق
تتحكم خمسة خيارات في الناتج. القيم الافتراضية (إزاحة بأربع مسافات، و120 عمودًا، والفواصل اللاحقة، والكلمات المفتاحية بأحرف كبيرة، والأقواس في السطر نفسه) تناسب معظم الفرق؛ ولكل خيار صفحة خاصة به تتضمن مزيدًا من الأمثلة.
مسافات الإزاحة
يحدّد خيار مسافات الإزاحة عدد المسافات التي يستخدمها كل مستوى تداخل، بدءًا من 0؛ والقيمة الافتراضية 4. تُستبدل أحرف الجدولة (Tab) في المدخلات بهذا العدد من المسافات، إلا داخل السلاسل النصية الحرفية والمعرّفات المحاطة بعلامات اقتباس. يستخدم المثال أدناه القيمة 2.
SELECT c.name,
SUM(o.total) AS revenue
FROM customers c
JOIN orders o
ON o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.nameاقرأ المزيد: خيار «مسافات الإزاحة»
الحد الأقصى للأعمدة
خيار الحد الأقصى للأعمدة هو عرض السطر الذي يسعى المنسّق إلى الالتزام به (الافتراضي 120). تُقسَّم التعبيرات الطويلة على عدة أسطر لتبقى ضمنه؛ والقيمة 0 تُوقف التفاف الأسطر.
SELECT order_id,
quantity * unit_price * (1 - discount_rate) * (1 +
tax_rate) + shipping_fee - loyalty_credit AS
amount_due
FROM order_lines
WHERE order_id = 42اقرأ المزيد: خيار «الحد الأقصى للأعمدة»
الفواصل
يتيح خيار الفواصل الاختيار بين الفواصل اللاحقة (بعد كل عنصر، وهو الافتراضي) والفواصل البادئة (في بداية السطر التالي). تسهّل الفواصل البادئة تحويل عمود إلى تعليق، وتُنتج فروقًا (diffs) أصغر عند إضافة عمود في النهاية.
SELECT id
,email
,country_code
,created_at
FROM customersالكلمات المفتاحية
يحوّل خيار الكلمات المفتاحية كلمات SQL المفتاحية مثل SELECT وFROM وJOIN إلى أحرف كبيرة (الافتراضي) أو أحرف صغيرة. تبقى السلاسل النصية الحرفية والتعليقات كما كتبتها.
select id,
name
from products
where price > 100
order by nameاقرأ المزيد: خيار «الكلمات المفتاحية»
الأقواس في سطر جديد
ينقل خيار الأقواس في سطر جديد القوس الافتتاحي لكتلة ما، مثل استعلام فرعي بعد IN أو جسم CTE أو قائمة مقسّمة على عدة أسطر، إلى سطر مستقل بدلًا من تركه في نهاية السطر السابق.
SELECT name
FROM customers
WHERE id IN
(
SELECT customer_id
FROM orders
WHERE total > 500
)اقرأ المزيد: خيار «الأقواس في سطر جديد»
لهجات SQL التي يفهمها
المنسّق غير مرتبط بقاعدة بيانات واحدة. فهو يعمل على SQL المشتركة بين المحرّكات الرئيسية: SELECT مع عمليات الربط والاستعلامات الفرعية وCASE، وINSERT وUPDATE وDELETE، وعبارات DDL الشائعة مثل CREATE TABLE وCREATE VIEW، والتعليقات بصيغتي -- و/* */، التي يُحافَظ عليها.
ويقدّم دعمًا إضافيًا لـ PostgreSQL: تحويلات الأنواع ::، والمعاملات $1، والأجسام المحاطة بعلامات الدولار $$ … $$، التي تُرتَّب شيفرة PL/pgSQL داخلها كتلةً كتلة. وتبقى المعرّفات المحاطة بعلامة الاقتباس المائلة (backtick) في MySQL والمعرّفات المحاطة بأقواس معقوفة [bracket] في SQL Server سليمةً كما هي. لا يوجد مبدّل للهجات، لذا لا تُعامَل الصيغ الأخرى الخاصة بقاعدة بيانات واحدة معاملة خاصة، مثل فاصل الدُفعات GO في SQL Server. تشرح أدلة اللهجات الفروق بينها.
ماذا يحدث لشيفرة SQL الخاصة بك
عند النقر على «تنسيق»، تُرسَل شيفرة SQL الموجودة في المحرّر إلى خادمنا عبر HTTPS، وتُنسَّق في الذاكرة ثم تُعاد مباشرة إلى الصفحة. لا تُكتب في قاعدة بيانات أو ملف أو سجلّ، ولا تُشارَك مع شركاء التحليلات أو الإعلانات. ومع ذلك، تجنّب لصق كلمات مرور أو مفاتيح أو بيانات شخصية حقيقية في أي أداة عبر الإنترنت؛ وتجد التفاصيل في صفحة الخصوصية.
الأسئلة الشائعة
هل تُخزَّن شيفرة SQL الخاصة بي في أي مكان؟
لا. تُنسَّق شيفرة SQL في ذاكرة الخادم لهذا الطلب الواحد فقط وتُعاد في الاستجابة. لا تُحفظ في قاعدة بيانات أو ملف أو سجلّ.
هل يمكن أن يغيّر التنسيق ما يفعله استعلامي؟
صُمّم المنسّق بحيث لا يغيّر سوى المسافات البيضاء وفواصل الأسطر وحالة أحرف الكلمات المفتاحية، ولا يغيّر أبدًا ترتيب شيفرة SQL أو منطقها. وكما هو الحال مع أي أداة تعيد كتابة الشيفرة، اقرأ النتيجة قبل تشغيلها على قاعدة بيانات إنتاجية. لاحظ أن حالة أحرف الكلمات المفتاحية تنطبق أيضًا على الأسماء التي هي كلمات مفتاحية في SQL، مثل عمود باسم month.
ما قواعد البيانات التي يعمل معها؟
ينسّق SQL المشتركة بين PostgreSQL وMySQL وSQL Server وOracle وDb2 وSQLite، مع معالجة إضافية لتحويلات الأنواع والمعاملات وأجسام PL/pgSQL في PostgreSQL. لا يوجد محدِّد للهجة.
هل يوجد حد للحجم؟
نعم. يمكن أن يحتوي الطلب الواحد على ما يصل إلى 20,000 سطر من SQL.
هل يمكنني تنسيق عدة عبارات دفعة واحدة؟
نعم. افصل بينها بفواصل منقوطة؛ تُنسَّق كل عبارة على حدة وتبقى بترتيبها الأصلي.
هل هو مدفوع أو يتطلب حسابًا؟
لا. المنسّق مجاني الاستخدام ولا يتطلب التسجيل.
أدلة ومراجع
إلى جانب الأداة، تتناول هذه الأدلة الأعراف التي تقوم عليها شيفرة SQL المقروءة:
- دليل أسلوب SQL
- كيفية تنسيق استعلامات SQL المعقدة
- الفواصل في بداية السطر أو نهايته في SQL
- تنسيق SQL لمراجعة الشيفرة والتحكم في الإصدارات
- أخطاء شائعة في قابلية قراءة SQL
- تنسيق استعلامات PostgreSQL وPL/pgSQL
- اختلافات لهجات SQL التي تؤثر في التنسيق
- قائمة تحقق لتنسيق SQL قبل نشر الترحيل
- توثيق الخيارات: ما يفعله كل إعداد، مع أمثلة