1. أساسيات معالجة النصوص في MySQL
في إدارة قواعد البيانات، تعد معالجة النصوص مهارة أساسية لمعالجة البيانات وتحسين الاستعلامات. يوفر MySQL وظائف مريحة لاستخراج ومعالجة النصوص. في هذه المقالة، سنركز على الوظيفة المهمة SUBSTRING، بالإضافة إلى طرق أخرى لمعالجة النصوص، وسنشرح حالات استخدام عملية.
2. استخراج النصوص الأساسي في MySQL – وظيفة SUBSTRING
تُعد وظيفة SUBSTRING في MySQL واحدة من أكثر الوظائف شيوعًا لاستخراج جزء من نص.
الصيغة الأساسية لـ SUBSTRING
SUBSTRING(string, start_position, length)
- string : النص المستهدف للاستخراج منه.
- start_position : موضع البدء للاستخراج (الحرف الأول هو الموضع 1).
- length : عدد الأحرف للاستخراج. إذا تم حذفه، يستخرج من موضع البدء إلى نهاية النص.
مثال: الاستخدام الأساسي
SELECT SUBSTRING('Hello World', 2, 5);
يستخرج هذا الاستعلام 5 أحرف بدءًا من الحرف الثاني في “Hello World”، مما يؤدي إلى “ello “.
استخدام القيم السالبة مع SUBSTRING
من خلال تحديد موضع بدء سالب، يمكنك استخراج أحرف محسوبة من نهاية النص.
SELECT SUBSTRING('abcdefg', -3, 2);
يعيد هذا الاستعلام “ef”، والتي هي الحرفان الثالث والرابع من النهاية.

3. استخراج النصوص باستخدام وظائف LEFT و RIGHT
بدلاً من SUBSTRING، يمكنك استخدام LEFT أو RIGHT لاسترداد عدد محدد من الأحرف من بداية أو نهاية النص.
وظيفة LEFT
تستخرج وظيفة LEFT عددًا محددًا من الأحرف من الجانب الأيسر للنص.
SELECT LEFT('abcdefg', 3);
يعيد هذا الاستعلام “abc”.
وظيفة RIGHT
تستخرج وظيفة RIGHT عددًا محددًا من الأحرف من الجانب الأيمن للنص.
SELECT RIGHT('abcdefg', 3);
يعيد هذا الاستعلام “efg”. هذه الوظائف مفيدة بشكل خاص عندما تحتاج دائمًا إلى استخراج عدد ثابت من الأحرف من أي جانب من النص.
4. تقسيم النصوص باستخدام SUBSTRING_INDEX
تقوم وظيفة SUBSTRING_INDEX بتقسيم نص بناءً على فاصل محدد وتعيد جزءًا معينًا. هذا مفيد بشكل خاص لبيانات CSV أو حقول تحتوي على قيم مترابطة متعددة.
الصيغة الأساسية لـ SUBSTRING_INDEX
SUBSTRING_INDEX(string, delimiter, N)
- string : النص المستهدف للعمل عليه.
- delimiter : الحرف المستخدم لتقسيم النص (مثل فاصلة).
- N : عدد الأجزاء للإرجاع. قيمة إيجابية تحسب من البداية، قيمة سالبة تحسب من النهاية.
مثال: الاستخدام
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
يسترد هذا الاستعلام “apple,orange” من النص “apple,orange,banana”.

5. التطبيقات العملية: استخراج النصوص في عمليات قواعد البيانات
تعد معالجة النصوص مفيدة جدًا في إدارة قواعد البيانات في العالم الحقيقي. فيما يلي بعض الأمثلة العملية.
استخراج جزء من اسم المنتج
يبحث الاستعلام التالي عن أسماء المنتجات التي تنتهي بـ “Large”.
SELECT * FROM products WHERE SUBSTRING(name, -2, 2) = 'Large';
بهذه الطريقة، يمكنك استخراج السجلات التي تطابق شرطًا محددًا في نهاية النص.
استخراج بيانات رقمية للحسابات
إليك مثالًا على استخراج جزء من حقل رقمي للحسابات:
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
يستخرج هذا الاستعلام الرقمين الأخيرين من سعر المنتج، يضربهما في 5، ويعرض النتيجة كـ “total”.
6. نصائح تحسين الأداء
بينما الوظائف النصية قوية، إلا أنها يمكن أن تؤثر على الأداء في قواعد البيانات الكبيرة. فيما يلي بعض النصائح لتحسين الأداء.
استخدام الفهرس بشكل فعال
عند البحث عن أجزاء من السلاسل، يمكن أن يؤدي إنشاء الفهارس المناسبة إلى تحسين سرعة الاستعلام بشكل كبير. على سبيل المثال، عند استخدام شرط LIKE، يمكن للاستعلامات مثل LIKE 'abc%' أن تستفيد من الفهارس بفعالية. ومع ذلك، لا يمكن للاستعلامات مثل LIKE '%abc' (مطابقات اللاحقة) استخدام الفهارس، مما قد يقلل من الأداء.
عمليات السلاسل على مجموعات البيانات الكبيرة
إذا كنت تقوم بشكل متكرر بتنفيذ عمليات السلاسل على جداول كبيرة، فكر في معالجة تعديل السلاسل على مستوى التطبيق. نقل المعالجة الثقيلة من قاعدة البيانات إلى التطبيق يمكن أن يساعد في تقليل حمل الخادم.
7. الخلاصة
تعديل السلاسل في MySQL هو أداة قوية لاستخراج البيانات وإعداد التقارير. من خلال إتقان الدوال مثل SUBSTRING و LEFT و RIGHT، يمكنك استخراج المعلومات الدقيقة التي تحتاجها بسهولة. لتحسين الأداء، من المهم تكوين الفهارس بشكل صحيح وتصميم طرق معالجة فعّالة.
من خلال إتقان هذه التقنيات، يمكنك تعزيز مهاراتك في تعديل سلاسل MySQL بشكل أكبر. كخطوة تالية، فكر في تعلم التعابير النمطية (regular expressions) وغيرها من عمليات السلاسل المتقدمة.


