عن أداة مولد SQL
كتابة استعلام SQL صحيح تأخذ وقتاً حتى لمن يعرف اللغة: أسماء الجداول، وشروط الربط، ودوال التاريخ التي تختلف من قاعدة بيانات إلى أخرى. في هذه الأداة تكتب ما تريد بالعربية كما تقوله لزميلك، مثل «أكثر 5 منتجات مبيعاً الشهر الماضي في كل فرع»، وتختار نوع قاعدة البيانات، فتحصل على الاستعلام مع شرح قصير وملاحظات عن الفهارس والقيم الفارغة NULL والفروق بين اللهجات. وإذا لصقت بنية الجداول (أوامر CREATE TABLE أو قائمة بالجداول والأعمدة) تستخدم الأداة أسماءك الحقيقية بدل التخمين.
وفي وضع «اشرح» تلصق استعلاماً كتبه غيرك أو كتبته قبل مدة، فتشرحه الأداة خطوة بخطوة بلغة واضحة، وتنبهك إلى الأخطاء المحتملة ومشكلات الأداء، وتقترح نسخة محسّنة عند الحاجة. الأداة لا تتصل بقاعدة بياناتك ولا تشغّل أي استعلام؛ أنت من يراجع النتيجة ويجربها. كل تشغيل بـ 1 رصيد، والحساب الجديد يحصل على 2 رصيد مجاناً بعد تأكيد البريد.
لماذا تستخدم هذه الأداة؟
- تكتب طلبك بالعربية أو الإنجليزية، وتحصل على استعلام بلهجة قاعدة بياناتك مع شرح قصير.
- ست لهجات: MySQL وPostgreSQL وSQL Server وSQLite وOracle وBigQuery، مع مراعاة فروقها في الدوال والصيغ.
- وضع «اشرح» يفكك أي استعلام خطوة بخطوة، وينبه إلى الأخطاء ومشكلات الأداء.
- لا تتصل الأداة بقاعدة بياناتك ولا تشغّل شيئاً عليها؛ كل ما تحصل عليه نص تراجعه أنت.
- سعر ثابت: 1 رصيد لكل تشغيل، وإذا فشلت العملية يرجع الرصيد تلقائياً.
طريقة الاستخدام
سجّل الدخول
اضغط زر «سجّل الدخول وجرّب مجاناً» واكتب بريدك لتصلك رسالة فيها رابط دخول، أو ادخل بحساب Google. الحساب الجديد يحصل على 2 رصيد بعد تأكيد البريد.
اختر الوضع واللهجة
اختر «أنشئ استعلاماً» لتحويل وصفك إلى SQL، أو «اشرح استعلاماً» لفهم استعلام موجود. ثم اختر قاعدة البيانات من القائمة: MySQL، PostgreSQL، SQL Server، SQLite، Oracle، BigQuery.
اكتب الطلب وأضف البنية
اكتب ما تريده بجمل واضحة، والصق بنية الجداول إن توفرت: أوامر CREATE TABLE أو قائمة بأسماء الجداول والأعمدة. المجموع حتى 1,500 كلمة، والسعر 1 رصيد يظهر على الزر.
شغّل الأداة وراجع النتيجة
اضغط الزر وانتظر بضع ثوانٍ. انسخ الاستعلام وجرّبه أولاً على نسخة من قاعدة البيانات، وراجع أوامر UPDATE وDELETE سطراً سطراً قبل تشغيلها على البيانات الحقيقية.
أمثلة عملية
أكثر 5 منتجات مبيعاً في كل فرع (PostgreSQL)
طلب «أكثر 5 منتجات مبيعاً الشهر الماضي في كل فرع» مع جدولي orders وorder_items. تجمع الأداة المبيعات بـ SUM(oi.quantity * oi.unit_price) لكل فرع ومنتج، بشرط o.created_at >= date_trunc('month', CURRENT_DATE) - INTERVAL '1 month' AND o.created_at < date_trunc('month', CURRENT_DATE)، ثم ترتب بـ ROW_NUMBER() OVER (PARTITION BY branch_id ORDER BY total DESC) وتأخذ الصفوف التي رتبتها 5 أو أقل.
العملاء الذين لم يطلبوا شيئاً
طلب «العملاء المسجلون بلا أي طلب». تقترح الأداة: SELECT c.id, c.name FROM customers c WHERE NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id); وتذكر البديل LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL، وتنبه إلى أن NOT IN يعيد نتيجة فارغة إذا كان في customer_id قيمة NULL.
مجموع المبيعات لكل شهر بلهجات مختلفة
الطلب نفسه يُكتب بحسب اللهجة: في MySQL بـ GROUP BY DATE_FORMAT(created_at, '%Y-%m')، وفي PostgreSQL بـ date_trunc('month', created_at)، وفي SQLite بـ strftime('%Y-%m', created_at)، وفي BigQuery بـ DATE_TRUNC(DATE(created_at), MONTH)، وفي SQL Server بـ DATEFROMPARTS(YEAR(created_at), MONTH(created_at), 1).
شرح استعلام فيه دالة نافذة
تلصق استعلاماً فيه SUM(amount) OVER (PARTITION BY customer_id ORDER BY created_at). تشرح الأداة أنه مجموع تراكمي لكل عميل، وتنبه إلى أن الإطار الافتراضي RANGE يجمع الصفوف التي تتساوى في created_at معاً، وتقترح ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW إذا أردت مجموعاً يتقدم صفاً صفاً.
| المهمة | الصيغة في بعض اللهجات | المقابل في لهجات أخرى |
|---|---|---|
| تحديد عدد الصفوف | LIMIT 10 في MySQL وPostgreSQL وSQLite وBigQuery | TOP 10 في SQL Server، وFETCH FIRST 10 ROWS ONLY في Oracle 12c وما بعده |
| بداية الشهر | date_trunc('month', d) في PostgreSQL | DATE_FORMAT(d, '%Y-%m-01') في MySQL، وTRUNC(d, 'MM') في Oracle، وDATE_TRUNC(d, MONTH) في BigQuery |
| دمج النصوص | a || b في PostgreSQL وSQLite وOracle | CONCAT(a, b) في MySQL، وa + b في SQL Server |
| تاريخ اليوم | CURRENT_DATE في PostgreSQL وMySQL وSQLite وBigQuery | CAST(GETDATE() AS date) في SQL Server، وTRUNC(SYSDATE) في Oracle |
| استبدال NULL بقيمة | COALESCE(x, 0) في كل اللهجات | IFNULL في MySQL وSQLite، وISNULL في SQL Server، وNVL في Oracle |
نصائح مهمة
- الصق بنية الجداول المعنية فقط، لا قاعدة البيانات كلها؛ تبقى ضمن 1,500 كلمة وتصبح النتيجة أدق.
- اذكر في طلبك الفترة الزمنية والترتيب وعدد الصفوف صراحة، مثل «آخر 30 يوماً، من الأعلى، أول 10».
- جرّب أي أمر UPDATE أو DELETE أولاً على نسخة، أو حوّله إلى SELECT بالشرط نفسه لترى الصفوف التي سيغيّرها.
- لا تلصق بيانات عملاء حقيقية ولا كلمات مرور؛ أسماء الجداول والأعمدة تكفي.
- لتنسيق استعلام طويل وجعله أسهل في القراءة قبل شرحه، استخدم أداة تنسيق SQL المجانية في /sql-beautifier/.
يُرسل وصفك وبنية الجداول والاستعلام عبر اتصال مشفّر إلى خادمنا ثم إلى مزوّد نموذج الذكاء الاصطناعي لمعالجتها، وتعود النتيجة إليك مباشرة. لا نحفظ ما ترسله ولا النتيجة في قاعدة بياناتنا؛ نسجل فقط تاريخ العملية وحجم المدخل والوضع والرصيد المخصوم وتكلفة المعالجة. ننصحك بمشاركة أسماء الجداول والأعمدة فقط، وألا تلصق بيانات عملاء حقيقية أو كلمات مرور.
الأسئلة الشائعة
هل الأداة مجانية؟
الأداة مدفوعة بالرصيد لأن كل تشغيل يكلفنا معالجة بنموذج ذكاء اصطناعي. الحساب الجديد يحصل على 2 رصيد مجاناً بعد تأكيد البريد، وهذا يكفي لتشغيلين.
كم سعر الرصيد ومتى ينتهي؟
الرصيد الواحد يساوي 0.05 دولار. تدفع حسب استخدامك من 5 دولارات (100 رصيد)، أو تختار باقة: 10 دولارات = 220 رصيداً، و15 دولاراً = 345 رصيداً، و25 دولاراً = 600 رصيد، تُشترى مرة واحدة بلا اشتراك. الرصيد المشترى صالح سنة من تاريخ الشراء، ورصيد التجربة صالح 30 يوماً.
كم رصيداً تحتاج العملية الواحدة وما الحد؟
كل تشغيل بـ 1 رصيد في الوضعين. المدخل حتى 1,500 كلمة، وتدخل بنية الجداول ضمن هذا العدد. السعر يظهر على الزر قبل الضغط.
ماذا يحدث إذا فشلت العملية؟
يُخصم الرصيد عند بدء العملية، وإذا فشلت لأي سبب من جهتنا أو من مزوّد الذكاء الاصطناعي يرجع الرصيد إلى حسابك تلقائياً، وتجد سطر الإرجاع في سجلك بصفحة «رصيدي».
هل تتصل الأداة بقاعدة بياناتي؟
لا. الأداة لا تتصل بأي قاعدة بيانات ولا تشغّل أي استعلام. هي تكتب نص الاستعلام أو تشرحه فقط، وأنت من يقرر أين ومتى يشغّله.
هل يجب أن ألصق بنية الجداول؟
ليس شرطاً. بدونها تفترض الأداة أسماء جداول وأعمدة منطقية وتذكر ذلك في الملاحظات. ومع البنية تستخدم أسماءك الحقيقية وأنواع الأعمدة، فتقل التعديلات التي تحتاجها بعد ذلك.
هل استعلامات DELETE وUPDATE آمنة؟
راجعها دائماً قبل التشغيل. الأداة تنبه إلى الشروط الناقصة مثل غياب WHERE، لكنها لا تعرف بياناتك. جرّب الأمر على نسخة، أو شغّل SELECT بالشرط نفسه أولاً، واحتفظ بنسخة احتياطية.
هل يكتشف وضع «اشرح» الأخطاء؟
نعم، في حدود ما يظهر من نص الاستعلام: ربط ناقص يكرر الصفوف، ومقارنات مع NULL، وشروط تمنع استخدام الفهرس، وتجميع غير صحيح. وقد يقترح نسخة محسّنة، لكن قياس الأداء الفعلي يحتاج تشغيل EXPLAIN على قاعدتك.
هل أستطيع كتابة طلبي بالعربية؟
نعم، اكتب بالعربية الفصحى أو بلهجتك المعتادة، والشرح يأتيك بالعربية. أوامر SQL وأسماء الجداول والأعمدة تبقى بالإنجليزية كما هي. ويمكنك الكتابة بالإنجليزية من الصفحة الإنجليزية.
ما قواعد البيانات المدعومة؟
MySQL وPostgreSQL وSQL Server وSQLite وOracle وBigQuery. تختار اللهجة قبل التشغيل، فتراعي الأداة صيغها في تحديد عدد الصفوف ودوال التاريخ ودمج النصوص.
هل تحفظون ما أرسله؟
لا نحفظ الوصف ولا البنية ولا الاستعلام ولا النتيجة. نسجل التاريخ وحجم المدخل والوضع والرصيد المخصوم فقط، ويمر النص بمزوّد الذكاء الاصطناعي لمعالجته.
كيف أشتري رصيداً؟
من صفحة «رصيدي» اختر الباقة، ثم اختر طريقة الدفع: متجرنا على Gumroad - PayPal - USDT على شبكة TRC20 - USDC على شبكة Solana. التفاصيل في صفحة الأسعار وشروط الرصيد وسياسة الاسترداد، وللمساعدة راسلنا على support@adwaty.net.
آخر تحديث: