ما هي SQL، ولماذا تهمّ اللهجة؟
SQL هي لغة استعلام قواعد البيانات العلائقية، موحّدة في خطوطها العامة لكن مطبّقة بفروق لهجية — قواعد الاقتباس والدوال وLIMIT مقابل TOP وصيغ التواريخ — في PostgreSQL وMySQL وSQLite وSQL Server وOracle. يوحّد المنسّق الكلمات المفتاحية والمسافات البادئة وفواصل الأسطر ليمكن قراءة الاستعلام الطويل ومراجعته؛ ويحلّل المدقّق العبارة ليجد أخطاء الصياغة قبل وصولها إلى قاعدة البيانات.
ملاحظة أمنية: عبارات INSERT أو IN المولَّدة مخصصة لبيانات الاختبار والترحيلات. أما في شيفرة التطبيق فيجب أن تمر القيم عبر استعلامات مُعامَلة — بناء SQL من مدخلات المستخدم بربط النصوص هو الطريق إلى حقن SQL.
كيفية استخدام مولّد قوائم SQL VALUES
- الصق بيانات جدولية مع صف ترويسة.
- اختر نمط الإخراج واللهجة.
- انسخ قائمة VALUES أو الجدول المشتق.
مزايا مولّد قوائم SQL VALUES
- تحويل صفوف CSV/TSV إلى صفوف بصيغة (v1, v2), (v3, v4)
- إخراج كجدول مشتق أو CTE مع أسماء مستعارة للأعمدة
- إخراج كجملة INSERT للتعبئة الأولية السريعة
- قيم حرفية واعية بالأنواع (الأرقام والقيم المنطقية وNULL والنص المقتبس)
- صياغة خاصة بكل لهجة: ROW() في MySQL، وSELECT … FROM DUAL في Oracle
مثال على مولّد قوائم SQL VALUES
جدول مشتق لاستخدامه في JOIN
الإدخال:
sku,price
MT-100,89.9
MT-220,249النتيجة:
SELECT * FROM (
VALUES
('MT-100', 89.9),
('MT-220', 249)
) AS v (sku, price)الأسئلة الشائعة حول مولّد قوائم SQL VALUES
ماذا يمكنني أن أفعل بقائمة VALUES؟
استخدمها كمتن لجملة INSERT متعددة الصفوف، أو كجدول مضمّن في JOIN (SELECT * FROM (VALUES …) AS v(a, b))، أو كمصدر لـ MERGE، أو كتعبير CTE لاختبار الاستعلامات دون إنشاء جداول.
ما أنماط الإخراج المتاحة؟
صفوف بسيطة، أو جدول مشتق مع أسماء مستعارة للأعمدة، أو تعبير CTE (WITH v AS …)، أو جملة INSERT كاملة. تستخدم MySQL صياغة ROW(…) وتستخدم Oracle صياغة SELECT … FROM DUAL مع UNION ALL.
كيف تُستنتج الأنواع؟
يُفحص كل عمود: تبقى الأعداد الصحيحة والعشرية بلا اقتباس، وتُحوَّل القيم المنطقية إلى تمثيل اللهجة، وتصبح الخلايا الفارغة أو NULL قيمة NULL، ويُعامل كل ما عدا ذلك كنص مقتبس.
المراجع
- PostgreSQL Documentation: SQL Syntaxالبنية المعجمية لـ SQL في PostgreSQL: المعرّفات والاقتباس والثوابت النصية والتهريب.
- SQL As Understood By SQLiteقواعد SQL التي يقبلها SQLite، عبارة تلو الأخرى، مع مخططات نحوية.
- SQL Injectionكيف يعمل حقن SQL ولماذا الاستعلامات المُعامَلة، لا بناء النصوص، هي الدفاع.