ما هي SQL، ولماذا تهمّ اللهجة؟
SQL هي لغة استعلام قواعد البيانات العلائقية، موحّدة في خطوطها العامة لكن مطبّقة بفروق لهجية — قواعد الاقتباس والدوال وLIMIT مقابل TOP وصيغ التواريخ — في PostgreSQL وMySQL وSQLite وSQL Server وOracle. يوحّد المنسّق الكلمات المفتاحية والمسافات البادئة وفواصل الأسطر ليمكن قراءة الاستعلام الطويل ومراجعته؛ ويحلّل المدقّق العبارة ليجد أخطاء الصياغة قبل وصولها إلى قاعدة البيانات.
ملاحظة أمنية: عبارات INSERT أو IN المولَّدة مخصصة لبيانات الاختبار والترحيلات. أما في شيفرة التطبيق فيجب أن تمر القيم عبر استعلامات مُعامَلة — بناء SQL من مدخلات المستخدم بربط النصوص هو الطريق إلى حقن SQL.
كيفية استخدام مصغّر SQL
- الصق SQL المراد ضغطه.
- اختر اللهجة وحدّد ما إذا كنت تريد الاحتفاظ بالتعليقات.
- انسخ النتيجة المكوّنة من سطر واحد.
مزايا مصغّر SQL
- طيّ أي SQL في سطر واحد
- إزالة التعليقات -- و/* */ أو تحويلها إلى تعليقات كتلية ضمن السطر
- الحفاظ على السلاسل النصية الحرفية والمعرّفات المقتبسة والمعاملات سليمة
- تجزئة إلى رموز واعية باللهجة (تعليقات # في MySQL، والأقواس المربعة [] في SQL Server، وعلامات $$ في PostgreSQL)
- عرض عدد البايتات الموفَّرة ونسبتها المئوية
مثال على مصغّر SQL
تصغير استعلام يحتوي على تعليقات
الإدخال:
-- active users
SELECT id,
name /* display */
FROM users
WHERE active = 1;النتيجة:
SELECT id, name FROM users WHERE active=1;الأسئلة الشائعة حول مصغّر SQL
هل تُعالَج السلاسل النصية الحرفية والتعليقات بأمان؟
نعم. يجزّئ المصغّر SQL إلى رموز، فتُحفظ المسافات البيضاء داخل السلاسل المقتبسة وتُزال التعليقات (أو تُحوَّل إلى كتل /* */ إذا اخترت الاحتفاظ بها).
لماذا قد أحتفظ بالتعليقات؟
تستخدم بعض الفرق التعليقات كوسوم للاستعلامات في أدوات المراقبة (مثل /* app:checkout */). فعّل «الاحتفاظ بالتعليقات» (Keep comments) لإبقائها بصيغة كتلية في السطر الواحد.
هل يبقى SQL المصغّر صالحاً؟
نعم. تُبقى مسافة واحدة حيثما كان رمزان سيندمجان لولاها، فتبقى الكلمات المفتاحية والمعرّفات والعوامل منفصلة.
فيمَ يفيد هذا؟
تضمين SQL في ملفات إعداد JSON، وأسطر السجلات، ومعاملات URL، والسلاسل النصية في الكود، وفي أي مكان يكون فيه السطر الواحد أسهل في التعامل.
المراجع
- PostgreSQL Documentation: SQL Syntaxالبنية المعجمية لـ SQL في PostgreSQL: المعرّفات والاقتباس والثوابت النصية والتهريب.
- SQL As Understood By SQLiteقواعد SQL التي يقبلها SQLite، عبارة تلو الأخرى، مع مخططات نحوية.
- SQL Injectionكيف يعمل حقن SQL ولماذا الاستعلامات المُعامَلة، لا بناء النصوص، هي الدفاع.