شرح وتطبيقات: أوامر SQL الشاملة

ملاحظة: هذا الدليل يغطي أوامر قواعد البيانات من البداية (إنشاء الجداول) وحتى الأوامر المتقدمة (مثل الربط والتجميع). يمكنك نسخ أي كود بالضغط على زر "نسخ الكود"!

1. إنشاء القواعد والجداول (DDL)

إنشاء قاعدة بيانات وجدول جديد

تعرف على أنواع البيانات الأساسية وكيفية إنشاء الجداول.

لإنشاء بنية تخزينية صحيحة، نستخدم CREATE DATABASE و CREATE TABLE.

  • INT: لتخزين الأرقام الصحيحة (مثل العمر، المعرف).
  • VARCHAR(100): لتخزين نصوص قصيرة بحد أقصى (مثل الاسم أو البريد).
  • TEXT: لتخزين نصوص طويلة جداً بلا حدود (مثل المقالات).
  • DATE: يخزن التاريخ فقط.
  • DATETIME: لتخزين التاريخ والوقت.
  • TIMESTAMP: يخزن التاريخ والوقت بدقة حتى الثواني، ومفيد في عمليات التتبع والـ Logs.
  • DECIMAL(10,2): للأرقام العشرية والأسعار (10 أرقام منها 2 بعد الفاصلة).
  • ENUM('M', 'F'): لتحديد خيارات ثابتة (مثل مصفوفة/Array مقيدة).

2. إضافة وعرض البيانات (DML & DQL)

إضافة البيانات (INSERT) وعرضها (SELECT)

إدخال صفوف جديدة والبحث عنها باستخدام شروط (WHERE, LIKE, ORDER BY, LIMIT).

يتم إضافة البيانات عبر INSERT INTO ثم استدعاؤها عبر SELECT مع استخدام الشروط لتصفية النتائج:

  • WHERE IN: للبحث عن قيم متعددة ومحددة.
  • LIKE: للبحث المتقدم بالنصوص (مثلاً يبدأ بحرف معين).
  • ORDER BY: ترتيب تصاعدي (ASC) أو تنازلي (DESC).
  • LIMIT / OFFSET: تحديد عدد النتائج المسترجعة وتجاهل عدد معين (مفيدة في التصفح Pagination).

3. الدوال التجميعية والتصنيف (Aggregate & GROUP BY)

دوال الحساب الرياضي (COUNT, SUM, AVG)

إجراء العمليات الحسابية على الأعمدة وتجميعها بواسطة GROUP BY و HAVING.

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

الخلاصة الذهبية:
استخدم WHERE لفلترة الصفوف (قبل التجميع)، واستخدم HAVING لفلترة المجموعات (بعد دالة GROUP BY).

4. الربط بين الجداول (JOINs)

ربط الجداول (JOIN) والمفاتيح الأجنبية

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

لربط جدولين، نستخدم المفتاح الأجنبي (Foreign Key) ليربط بجدول آخر. أنواع الربط الأساسية:

  • INNER JOIN: يجلب البيانات المتقاطعة فقط (موجودة في الجدولين).
  • LEFT JOIN: يجلب كل شيء من الجدول الأيسر (الأول)، وما يطابقه من الأيمن (وإلا يضع NULL).
  • RIGHT JOIN: يجلب كل شيء من الجدول الأيمن (الثاني)، وما يطابقه من الأيسر.
  • FULL JOIN (UNION): يجلب الكل من الجدولين (في MySQL نستعمل UNION لدمج LEFT و RIGHT).

5. التعديل، الحذف، والقيود الصارمة (UPDATE, DELETE & Constraints)

تحديث وحذف البيانات وفرض القيود القوية

إضافة قيود لتنظيف البيانات وإجراء التحديثات أو الحذف الآمن.

قبل تعديل أو حذف البيانات، تأكد دائماً من استخدام شرط WHERE، لتجنب التعديل على الجدول بالكامل!

  • UPDATE ... SET: لتغيير القيم الحالية وتحديثها.
  • DELETE: يحذف الصفوف المحددة بناءً على شرط (WHERE).
  • TRUNCATE: يفرغ الجدول بالكامل ويعيد تصفير الـ Auto Increment (لا يقبل شروط وأسرع من Delete).
  • UNIQUE / CHECK: قيود قوية لمنع تكرار البيانات أو الإدخالات الخاطئة.