Help:SQL

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. مساعدة:SQL

مقدمة

SQL (Structured Query Language) هي لغة قياسية تستخدم لإدارة البيانات المخزنة في أنظمة إدارة قواعد البيانات العلائقية (RDBMS). في سياق MediaWiki، تُستخدم SQL للاستعلام عن قاعدة البيانات التي تخزن محتوى الموقع، مثل الصفحات، المستخدمين، السجلات، وغيرها. هذه الصفحة هي دليل للمبتدئين لاستخدام SQL مع MediaWiki، مع التركيز على الاستعلامات الأساسية وكيفية تطبيقها. فهم SQL يفتح الباب أمام تحليلات متقدمة للبيانات، تقارير مخصصة، وحتى تعديل البيانات (بحذر شديد!). سنستعرض هنا الأساسيات اللازمة لاستخراج المعلومات من قاعدة بيانات MediaWiki الخاصة بك.

ملاحظة هامة: العبث المباشر بقاعدة البيانات يمكن أن يؤدي إلى تلف البيانات أو تعطل الموقع. تأكد من أن لديك نسخة احتياطية كاملة قبل إجراء أي تعديلات. استخدم أدوات واجهات المستخدم (مثل Special:DatabaseReports) كلما أمكن ذلك لتجنب الأخطاء.

الاتصال بقاعدة البيانات

قبل أن تتمكن من استخدام SQL، تحتاج إلى الوصول إلى قاعدة البيانات. عادةً ما يتم ذلك من خلال سطر الأوامر باستخدام أداة مثل `mysql` (إذا كانت قاعدة البيانات MySQL/MariaDB، وهي الأكثر شيوعًا). تحتاج إلى بيانات الاعتماد الصحيحة (اسم المستخدم، كلمة المرور، اسم قاعدة البيانات، عنوان الخادم) للاتصال. هذه المعلومات عادة ما تكون موجودة في ملف `LocalSettings.php` الخاص بـ MediaWiki. لا تقم مطلقاً بمشاركة هذه المعلومات مع أي شخص غير مصرح له.

بنية جملة SQL الأساسية

جملة SQL الأساسية تتكون من الكلمات الرئيسية، وجداول البيانات، والأعمدة، والشروط. الشكل العام هو:

```sql SELECT column1, column2, ... FROM table_name WHERE condition; ```

  • `SELECT`: تحدد الأعمدة التي تريد استرجاعها.
  • `FROM`: تحدد الجدول الذي تريد الاستعلام عنه.
  • `WHERE`: تحدد الشروط التي يجب أن تستوفيها السجلات المراد استرجاعها.

أمثلة على استعلامات SQL الأساسية

لنبدأ ببعض الأمثلة العملية. سنفترض أن لديك معرفة أساسية بأسماء الجداول في قاعدة بيانات MediaWiki. بعض الجداول الشائعة تشمل: `page`, `user`, `revision`, `category`, `watchlist`.

  • استرجاع جميع الصفحات:
   ```sql
   SELECT page_title FROM page;
   ```
   هذا الاستعلام سيسترجع قائمة بجميع عناوين الصفحات في قاعدة البيانات.  قد تكون هذه القائمة طويلة جدًا.
  • استرجاع المستخدمين النشطين:
   ```sql
   SELECT user_name FROM user WHERE user_editcount > 0;
   ```
   هذا الاستعلام سيسترجع أسماء المستخدمين الذين قاموا بإجراء تعديلات واحدة على الأقل.  `user_editcount` هو عمود في جدول `user` يمثل عدد التعديلات التي قام بها المستخدم.
  • استرجاع الصفحات في فئة معينة:
   هذا الاستعلام أكثر تعقيدًا ويتطلب ربط جدولين: `page` و `categorylink`.
   ```sql
   SELECT p.page_title
   FROM page p
   JOIN categorylink cl ON p.page_id = cl.page_id
   JOIN category c ON cl.cat_id = c.cat_id
   WHERE c.cat_title = 'اسم_الفئة';
   ```
   استبدل `'اسم_الفئة'` باسم الفئة التي تريد استرجاع الصفحات منها.  هذا الاستعلام يربط الجداول الثلاثة بناءً على المعرفات الخاصة بها ويسترجع عناوين الصفحات التي تنتمي إلى الفئة المحددة.
  • استرجاع أحدث 10 تعديلات:
   ```sql
   SELECT rev_timestamp, rev_user, rev_title
   FROM revision
   ORDER BY rev_timestamp DESC
   LIMIT 10;
   ```
   هذا الاستعلام يسترجع التاريخ والوقت والمستخدم وعنوان الصفحة لأحدث 10 تعديلات.  `ORDER BY rev_timestamp DESC` يرتب النتائج بترتيب تنازلي حسب تاريخ التعديل، و `LIMIT 10` يحدد عدد النتائج التي يتم إرجاعها إلى 10.

عوامل التشغيل (Operators) في SQL

تُستخدم عوامل التشغيل في جملة `WHERE` لتحديد الشروط. بعض عوامل التشغيل الشائعة تشمل:

  • `=`: يساوي
  • `!=` أو `<>`: لا يساوي
  • `>`: أكبر من
  • `<`: أصغر من
  • `>=`: أكبر من أو يساوي
  • `<=`: أصغر من أو يساوي
  • `LIKE`: يستخدم للبحث عن أنماط (wildcards)
  • `IN`: يتحقق مما إذا كانت القيمة موجودة في قائمة محددة
  • `BETWEEN`: يتحقق مما إذا كانت القيمة تقع ضمن نطاق محدد
  • `AND`: يربط بين شرطين أو أكثر، ويجب أن تكون جميع الشروط صحيحة
  • `OR`: يربط بين شرطين أو أكثر، ويجب أن يكون شرط واحد على الأقل صحيحًا
  • `NOT`: ينفي شرطًا

أمثلة على استخدام عوامل التشغيل

  • استرجاع المستخدمين الذين تم تسجيلهم بعد تاريخ معين:
   ```sql
   SELECT user_name FROM user WHERE user_registration_date > '2023-01-01';
   ```
  • استرجاع الصفحات التي تحتوي عناوينها على كلمة "MediaWiki":
   ```sql
   SELECT page_title FROM page WHERE page_title LIKE '%MediaWiki%';
   ```
   `%` هو wildcard يمثل أي عدد من الأحرف (بما في ذلك لا شيء).
  • استرجاع المستخدمين الذين لديهم عدد تعديلات بين 100 و 500:
   ```sql
   SELECT user_name FROM user WHERE user_editcount BETWEEN 100 AND 500;
   ```

الدوال (Functions) في SQL

توفر SQL العديد من الدوال المدمجة التي يمكن استخدامها لمعالجة البيانات. بعض الدوال الشائعة تشمل:

  • `COUNT()`: تحسب عدد السجلات.
  • `SUM()`: تحسب مجموع القيم في عمود.
  • `AVG()`: تحسب متوسط القيم في عمود.
  • `MAX()`: تجد القيمة القصوى في عمود.
  • `MIN()`: تجد القيمة الدنيا في عمود.
  • `UPPER()`: تحول النص إلى أحرف كبيرة.
  • `LOWER()`: تحول النص إلى أحرف صغيرة.
  • `LENGTH()`: تحسب طول النص.
  • `NOW()`: ترجع التاريخ والوقت الحاليين.

أمثلة على استخدام الدوال

  • حساب عدد الصفحات في قاعدة البيانات:
   ```sql
   SELECT COUNT(*) FROM page;
   ```
  • حساب متوسط عدد التعديلات لكل مستخدم:
   ```sql
   SELECT AVG(user_editcount) FROM user;
   ```
  • إيجاد أحدث تاريخ تعديل:
   ```sql
   SELECT MAX(rev_timestamp) FROM revision;
   ```

الربط بين الجداول (Joins)

الربط بين الجداول يسمح لك بالاستعلام عن البيانات من جداول متعددة في نفس الوقت. هناك أنواع مختلفة من الربط:

  • `INNER JOIN`: يرجع فقط السجلات التي لها تطابق في كلا الجدولين.
  • `LEFT JOIN`: يرجع جميع السجلات من الجدول الأيسر، بالإضافة إلى السجلات المطابقة من الجدول الأيمن.
  • `RIGHT JOIN`: يرجع جميع السجلات من الجدول الأيمن، بالإضافة إلى السجلات المطابقة من الجدول الأيسر.
  • `FULL OUTER JOIN`: يرجع جميع السجلات من كلا الجدولين، حتى لو لم يكن هناك تطابق.

تجميع البيانات (GROUP BY)

تُستخدم جملة `GROUP BY` لتجميع السجلات بناءً على قيمة عمود واحد أو أكثر. عادةً ما يتم استخدامها مع دوال التجميع مثل `COUNT()`, `SUM()`, `AVG()`, `MAX()`, و `MIN()`.

أمثلة على تجميع البيانات

  • حساب عدد الصفحات لكل فئة:
   ```sql
   SELECT c.cat_title, COUNT(p.page_id) AS page_count
   FROM category c
   JOIN categorylink cl ON c.cat_id = cl.cat_id
   JOIN page p ON cl.page_id = p.page_id
   GROUP BY c.cat_title;
   ```

التحذيرات والممارسات الجيدة

  • **النسخ الاحتياطي:** قم دائمًا بعمل نسخة احتياطية من قاعدة البيانات قبل إجراء أي تعديلات.
  • **الحذر:** كن حذرًا جدًا عند تعديل البيانات. يمكن أن يؤدي خطأ بسيط إلى تلف البيانات.
  • **الأداء:** الاستعلامات المعقدة يمكن أن تستغرق وقتًا طويلاً لإكمالها. حاول تحسين استعلاماتك قدر الإمكان. استخدم الفهارس (indexes) لتحسين أداء الاستعلامات.
  • **الأمان:** لا تقم بتضمين بيانات الاعتماد الخاصة بقاعدة البيانات في التعليمات البرمجية المصدرية. استخدم متغيرات البيئة أو ملفات التكوين الآمنة.
  • **التعلم المستمر:** SQL لغة قوية ومرنة. استمر في التعلم واستكشاف الميزات الجديدة.

الموارد الإضافية

  • Special:DatabaseReports: أداة مضمنة في MediaWiki لإنشاء تقارير بسيطة.
  • Manual:Database access: صفحة في دليل MediaWiki حول الوصول إلى قاعدة البيانات.
  • Help:Extension:Database functions: صفحة حول استخدام دوال قاعدة البيانات في امتدادات MediaWiki.
  • MediaWiki API: واجهة برمجة تطبيقات (API) تسمح لك بالتفاعل مع MediaWiki من خلال البرامج النصية.

تطبيقات في عالم الخيارات الثنائية

على الرغم من أن SQL لا تستخدم بشكل مباشر في تداول الخيارات الثنائية، إلا أن فهمها يمكن أن يكون مفيدًا في تحليل البيانات المتعلقة بالأسواق المالية. على سبيل المثال، يمكن استخدام SQL لتحليل:


خاتمة

SQL هي أداة قوية يمكن أن تساعدك في استخراج رؤى قيمة من قاعدة بيانات MediaWiki الخاصة بك. من خلال فهم الأساسيات التي تمت تغطيتها في هذه الصفحة، يمكنك البدء في كتابة استعلامات SQL الخاصة بك وتحليل البيانات بطرق جديدة ومثيرة. تذكر دائمًا توخي الحذر والاحتياط عند التعامل مع قاعدة البيانات.

الفئة: **SQL** (SQL)

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер