شرح صفوف ومحتوى الفقرة
يقارن الجدول التالي بين المعاملين LIKE و REGEXP في MySQL 8 من حيث نطاق المطابقة والرموز المدعومة واستخدام الفهارس:
| وجه المقارنة | المعامل LIKE | المعامل REGEXP / RLIKE |
|---|---|---|
| نطاق المطابقة الافتراضي | كامل النص (إلا عند إضافة %) | جزئي في أي موضع (إلا عند وضع ^...$) |
| الرموز المدعومة | % (صفر فأكثر)، _ (حرف واحد) | . و * و + و ? و {n,m} و [...] و | و ^ و $ |
| استخدام فهرس B-Tree | يستخدم الفهرس مع البادئة الثابتة 'abc%' | لا يستخدم فهرس النطاق العادي B-Tree |
| تحييد الرموز الخاصة | عبر \% أو جملة ESCAPE '!' | عبر الشرطة العكسية القياسية في التعابير النمطية |
| أفضل حالة استخدام | البحث بالبادئة أو الاحتواء النصي البسيط | التحقق من الصيغ المهيكلة والأنماط المركّبة |
ملخص الدرس: تعلّمت في هذا الدرس مطابقة الأنماط النصية عبر LIKE برمزي % و _، وتحييد الرموز الحرفية بجملة ESCAPE، واستخدام التعابير النمطية المتقدمة REGEXP وفئات الأحرف ومحددات الأطراف.
الخطوة التالية والدرس القادم: نختتم هذه الوحدة في الدرس القادم بتعلّم فحص القيم الفارغة عبر IS NULL وترتيب النتائج بجملة ORDER BY وتقسيم الصفحات عبر LIMIT و OFFSET.
-- Combine indexed prefix LIKE with strict REGEXP validation
SELECT user_id, username, phone_ext
FROM users
WHERE username LIKE 'eng%'
AND phone_ext REGEXP '^[0-9]{4}$';
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنّا في هذا الدرس مطابقة الأنماط النصية عبر LIKE والتعابير النمطية REGEXP في MySQL 8 مع أمثلة عملية.
الخطوة التالية والدرس القادم
أكمل التدريبات والاختبار التفاعلي أدناه قبل الانتقال إلى الدرس التالي في مسار MySQL.