SQL عبر الإنترنت - IDE ومحرر ومترجم ومفسّر

تدرّب على SQL عبر الإنترنت: أنشئ جداول وأدخل بيانات وشغّل استعلامات على قاعدة بيانات SQLite حقيقية في متصفحك. تظهر النتائج كجداول.

SQLite 3 (sql.js) · يعمل في متصفحك، لذا لا تصل شيفرتك إلى خوادمنا أبدًا.
main.sqlSQL
المخرجات

            
        
Ctrl/⌘ + Enter للتشغيل

ميزات مترجم SQL عبر الإنترنت (بيئة تطوير ومحرّر ومفسّر)

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

  • تشغيل الشيفرة فورًا: SQLite 3 (sql.js)، مع ظهور المخرجات في أقل من ثانية بعد التحميل الأول.
  • محرّر الشيفرة: تلوين الصياغة، وأرقام الأسطر، ومطابقة الأقواس، والإغلاق التلقائي للأقواس.
  • أخطاء واضحة: تظهر رسائل الخطأ والتحذيرات في لوحة المخرجات، كما تظهر على حاسوبك.
  • ملء الشاشة: Ctrl/⌘ + Shift + F، وحجم خط قابل للتعديل، وتخطيط متجاور أو مكدّس، ولوحات قابلة لتغيير الحجم.
  • الحفظ التلقائي: تُحفظ شيفرتك في متصفحك؛ نزّلها باسم main.sql أو انسخها بنقرة واحدة.
  • تجربة آمنة: حدّ زمني وزر إيقاف ينهيان الحلقات اللانهائية.
  • خاص: تعمل بيئة تشغيل SQL على جهازك، لذا لا تُرفع شيفرتك أبدًا.
  • الوضع الداكن واختصارات لوحة المفاتيح: Ctrl/⌘ + Enter يشغّل الشيفرة.
  • مجاني: بدون تسجيل، وبلا حدود للاستخدام.

تعلّم لغات برمجة أخرى

كيف تستخدم مترجم SQL عبر الإنترنت

  1. اكتب SQL في المحرر. يمكنك إنشاء الجداول (CREATE TABLE) وإضافة البيانات (INSERT) والاستعلام عنها (SELECT) في نص برمجي واحد. افصل العبارات بفواصل منقوطة.
  2. اضغط تشغيل أو استخدم Ctrl + Enter (⌘ + Enter على Mac).
  3. كل عبارة تُرجع صفوفًا تُعرض في جدول نتائج خاص بها، بالترتيب، مع عدد الصفوف تحته. وتُوسَم قيم NULL بذلك. وإن لم ترجع أي عبارة صفوفًا، فسترى تأكيدًا قصيرًا بدلًا من ذلك.
  4. اختر الحدّ الزمني 5 أو 15 أو 60 ثانية، وهو مفيد للاستعلامات التكرارية الخارجة عن السيطرة. ويُلغي زر إيقاف الاستعلام فورًا.

محرك SQLite صغير، أقل بكثير من 1 MB، فيُحمَّل فورًا تقريبًا. ويستعيد زر إعادة ضبط المثال مخطط الموظفين التجريبي، وينزّل main.sql نصك البرمجي.

تعمل استعلاماتك في Web Worker داخل متصفحك أنت. لا يُرفع SQL ولا البيانات ولا تُخزَّن على خوادمنا. ويحتفظ المحرر بآخر نص برمجي لك في التخزين المحلي لمتصفحك، ولا في أي مكان آخر.

ما المدعوم

يشغّل المترجم SQLite 3 عبر sql.js، وهي مكتبة SQLite بلغة C مترجمة إلى WebAssembly. إنه محرك قواعد بيانات علائقية حقيقي، لا محاكٍ.

  • DDL وDML: CREATE TABLE وCREATE INDEX وCREATE VIEW وINSERT وUPDATE وDELETE والقيود والمفاتيح الأجنبية والمشغّلات.
  • الاستعلامات: الربط (joins) والاستعلامات الفرعية وGROUP BY/HAVING وUNION وCASE وتعابير الجداول المشتركة، بما فيها WITH RECURSIVE.
  • دوال النوافذ مثل ROW_NUMBER() وRANK() وLAG() والمجاميع التراكمية بـ SUM() OVER (...).
  • دوال مدمجة للنصوص (substr وupper وreplace) والأرقام والتواريخ (date وstrftime).

القيود:

  • قاعدة بيانات جديدة وفارغة في الذاكرة في كل تشغيل. لا تبقى الجداول بين مرات التشغيل، فأبقِ عبارات CREATE وINSERT في أعلى النص البرمجي.
  • إنه SQLite، وليس MySQL أو PostgreSQL. يعمل معظم SQL القياسي، لكن الميزات الخاصة بكل مورّد مثل الإجراءات المخزَّنة وGRANT أو الكلمة المفتاحية AUTO_INCREMENT في MySQL أو النوع SERIAL في PostgreSQL لا تعمل.
  • تعرض مجموعات النتائج الكبيرة أول 1,000 صف، مع العدد الإجمالي للصفوف.
  • لا يمكنك الاتصال بقاعدة بيانات خارجية أو فتح ملف .db خاص بك.

مرجع سريع لـ SQL

CREATE TABLE orders (
  id       INTEGER PRIMARY KEY,
  customer TEXT NOT NULL,
  amount   REAL,
  placed   TEXT DEFAULT (date('now'))
);

INSERT INTO orders (customer, amount) VALUES
  ('Ada', 120.0), ('Ada', 35.5), ('Grace', 80.0);

WITH totals AS (
  SELECT customer, SUM(amount) AS spent, COUNT(*) AS n
  FROM orders
  GROUP BY customer
)
SELECT customer, spent, n
FROM totals
WHERE spent >= 50 AND n <> 0
ORDER BY spent DESC;
المهمةSQL
مفتاح مرقَّم تلقائيًاid INTEGER PRIMARY KEY
تصفية الصفوفWHERE price BETWEEN 10 AND 20
مطابقة نمطWHERE name LIKE 'A%'
ضمّ النصوصfirst || ' ' || last
الترقيم إلى صفحاتLIMIT 10 OFFSET 20
استبدال NULLCOALESCE(phone, 'n/a')
الإدراج أو التحديثINSERT ... ON CONFLICT(id) DO UPDATE SET ...

نصائح

  • استخدم sqlite_master لسرد ما أنشأته: SELECT name, sql FROM sqlite_master;
  • استخدم EXPLAIN QUERY PLAN SELECT ... لمعرفة هل يستخدم الاستعلام فهرسًا.
  • يستخدم SQLite أنواعًا مرنة (flexible typing): فالعمود المعرَّف بـ INTEGER يمكنه مع ذلك تخزين نص. أضف قيود CHECK، أو استخدم جداول STRICT، حين تريد فرض الأنواع.
  • لا تُفرض المفاتيح الأجنبية إلا بعد PRAGMA foreign_keys = ON;.
  • استعلام طويل ومبعثر؟ نظّفه باستخدام منسّق SQL قبل مشاركته.
نصيحة: غلّف عمليات الإدراج المتكررة في BEGIN; … COMMIT;. وتوليد بيانات الاختبار بتعبير جدول مشترك تكراري طريقة سريعة لملء جدول بآلاف الصفوف للتدرّب.

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

ما لهجة SQL التي يستخدمها هذا المترجم؟

SQLite 3. وهي تتبع SQL القياسي عن قرب، فهي مناسبة جدًا لتعلّم SELECT والربط والتجميع ودوال النوافذ. وقد تحتاج الصياغة الخاصة بـ MySQL أو PostgreSQL أو SQL Server إلى تعديلات صغيرة.

هل تُحفظ بياناتي؟

لا. ينشئ كل تشغيل قاعدة بيانات جديدة في الذاكرة تُحذف بمجرد انتهاء التشغيل. ولا يُتذكَّر سوى نص SQL في المحرر، محليًا في متصفحك.

هل يمكنني تشغيل عدة استعلامات دفعة واحدة؟

نعم. افصل بينها بفواصل منقوطة. تُنفَّذ العبارات بالترتيب، وكل واحدة تُرجع صفوفًا تنتج جدول نتائج خاصًا بها.

هل يمكنني التدرّب بلغات أخرى أيضًا؟

نعم. جرّب مترجم Python عبر الإنترنت، حيث تعمل وحدة sqlite3 المدمجة في Python أيضًا، أو تصفّح جميع أدوات المطورين لدينا.

آخر تحديث

تم النسخ إلى الحافظة