اكتب استعلام SQL في المحرر أعلاه، اضغط تشغيل، ثم اقرأ النتائج أسفله. المحرك عبارة عن قاعدة بيانات SQLite حقيقية مُصرَّفة إلى WebAssembly وتعمل على جهازك — ليست محللًا وهميًا وليست خادمًا يستقبل استعلاماتك. تُنفَّذ السكربتات تعليمةً تعليمة، فالسكربت الذي ينشئ جدولًا ويدرج صفوفًا ثم يعيد قراءتها يعرض لك كل خطوة، وتبقى قاعدة البيانات حية بين التشغيلات.
كيف يعمل مُصرِّف SQL
يقبل المحرر سكربتًا كاملًا وليس تعليمة واحدة. تُنفَّذ كل تعليمة بالترتيب داخل الـ worker: أمر CREATE TABLE يبني المخطط، وINSERT يملؤه، وSELECT يعيد جدول نتائج يمكنك تمريره وفحصه ونسخه بصيغة CSV. التعليمات التي تعدّل البيانات تُعلِمك بعدد الصفوف التي أثّرت فيها، لذا يعمل UPDATE وDELETE كما تتوقع تمامًا. وعندما تفشل تعليمة، يتوقف التنفيذ هناك، ويظهر خطأ SQLite مع التعليمة المسبِّبة بالضبط، ويبقى كل ما سبقها محفوظًا — تمامًا كما في صدفة sqlite3.
تبقى قاعدة البيانات حيّة بين التشغيلات طالما الصفحة مفتوحة. يمكنك بناء المخطط في تشغيلة، والاستعلام عنه في التالية، وتحسين الـ JOIN حتى يصبح صحيحًا — نفس سير العمل مع قاعدة بيانات محلية، من دون تثبيت. زر إعادة تعيين (أو تبديل قاعدة البيانات التجريبية) يبدأ من قاعدة نظيفة.
قواعد البيانات التجريبية ومستعرض المخطط
ترافق الأداة ثلاث قواعد جاهزة: الموظفون (الأقسام والرواتب وتواريخ التعيين)، والمكتبة (المؤلفون والكتب والاستعارات)، والمتجر (المنتجات والعملاء والطلبات). كل منها صغير بما يكفي لفهمه في دقيقة، وواقعي بما يكفي للتدرب على استعلامات حقيقية — الربط والتجميع ومعالجة التواريخ. وإن كنت تفضل البدء من الصفر فاختر القاعدة الفارغة وابنِ جداولك الخاصة.
تبويب المخطط يسرد كل جدول وعرض في القاعدة الحالية مع أعمدته وأنواعها ومفاتيحها الأولية وعدد صفوفها. زر SELECT * بجانب كل جدول يشغّل استعلام فحص سريعًا دون لمس محررك. وبينما تنشئ سكربتاتك الجداول وتحذفها، تتحدث عرضة المخطط بعد كل تشغيلة — ويتعلم الإكمال التلقائي في المحرر أسماء جداولك وأعمدتك أثناء الكتابة.
أي SQL يمكنك التدرب عليه هنا؟
المحرك هو SQLite، أكثر قواعد البيانات انتشارًا في العالم — نفسها في هاتفك ومتصفحك ونصف تطبيقاتك. يمكنك التدرب على جوهر اللغة كاملًا: SELECT مع WHERE وORDER BY وLIMIT؛ الربط الداخلي والخارجي بـ JOIN؛ التجميع بـ GROUP BY مع HAVING؛ الاستعلامات الفرعية وتعبيرات الجداول المشتركة (WITH)؛ دوال النوافذ مثل OVER (PARTITION BY …)؛ دوال التواريخ والنصوص؛ والفهارس والعروض؛ والمعاملات.
والحدود الصادقة: ميزات MySQL و PostgreSQL و SQL Server الخاصة — مثل كتابة AUTO_INCREMENT أو الإجراءات المخزنة أو RETURNING خارج دعم SQLite — إما تعمل بطريقة SQLite أو غير موجودة. هذه مقايضة صحيحة للتعلم: لهجة SQLite قريبة من المعيار، والمفاهيم تنتقل مباشرة.
استعلاماتك تبقى على جهازك
كل شيء يعمل في متصفحك عبر WebAssembly. يُحفَظ الاستعلام الذي تكتبه في التخزين المحلي لمتصفحك فقط، فإغلاق التبويب والعودة لاحقًا يستعيد آخر تعديل. زر مشاركة يحزم السكربت الحالي داخل الرابط نفسه — جزء الـ URL لا يُرسَل إلى أي خادم أبدًا، ومن يفتحه يرى ما كتبته بالضبط. استيراد يفتح ملف .sql من حاسوبك، وتنزيل يحفظ السكربت الحالي، ونسخ يضعه في الحافظة. لا حساب، ولا شيء لتنظيفه لاحقًا.
أسئلة شائعة
أي لهجة SQL هذه؟ SQLite 3، ويظهر إصداره الدقيق في شريط الحالة. تغطي جوهر SQL المشترك بين المحركات.
هل تبقى الجداول بين التشغيلات؟ نعم — حتى تضغط إعادة تعيين أو تبدّل القاعدة التجريبية أو تعيد تحميل الصفحة. كل تحميل يبدأ نظيفًا.
هل يعمل على الهاتف؟ نعم. المحرر والنتائج تتراكم عموديًا على الشاشات الصغيرة، وجداول النتائج تُمرَّر أفقيًا داخل بطاقاتها.
لماذا التشغيلة الأولى أبطأ؟ هذا تنزيل محرك SQLite لمرة واحدة (نحو 650 كيلوبايت). كل تشغيلة بعدها تبدأ فورًا.
هل يمكن تصدير النتائج؟ نعم — لكل جدول نتائج زر نسخ CSV، ومجموعات النتائج الأكبر من 500 صف تُنبِّه عند الاقتطاع.