في هذا الدرس والدروس القادمة ستتعلم إن شاء الله الكثير من التوابع المفيدة والمهمة في MySQL إذن لنبدأعلى بركة الله
تقسم التوابع في MySQL إلى ثلاث أقسام رئيسية هي:
1. التوابع الرياضية.
2. توابع التاريخ و الوقت.
3. التوابع العالية أو المتقدمة.
ما هو التابع :
سأفترض في هذا الدرس أنك أخي القارئ لا تعرف أي شيء عن التوابع فإذا كنت على دراية بماهية وعمل التابع, فإنك تستطيع أن تتجاوز هذا الدرس.
يتلخص التابع في النقاط التالية:
أولاً: التابع أو الدالة كما يسمى في بعض المناطق العربية هو تعريب لكلمة function (وتعني وظيفة) وبالتالي من اسمها نعرف أن التابع يقوم بعمل شيء واحد فقط, أي أننا نقدم له الأدوات والعتاد اللازم (ندعو هذه الأدوات والعتاد في البرمجة باسم الوسطاء parameters) فيقوم هو بعمله داخلياً ويعيد لنا النتيجة جاهزة.
ثانياً: بما أن اسمه تابع فهذا يعني أنه يتبع الوسطاء parameters التي نقدمها له أي عندما نعطيه وسطاء معينة سيعيد لنا نتيجة معينة وعندما نعطيه وسطاء جدد سيعطينا نتيجة أخرى جديدة وهكذا.
ثالثاً: هذه الوسطاء من الممكن أن تكون متحولات variables أو أسماء أعمدة من جداول أو قيم ثابتة إما رقمية مثل (1 , 2 , ... الخ) أو نصية مثل العبارات والأحرف الأبجدية.
رابعاً: لا تهمك البنية الداخلية للتوابع في MySQL حصراً فكل ما عليك هو أن تحفظ اسم التابع وما يقوم به وكم عدد الوسائط التي يأخذها, فعلى سبيل المثال هناك تابع في MySQL اسمه () ucase وظيفته هي تحويل الوسيط الذي نقدمه له إلى أحرف كبيرة فإذا كتبنا :
select ucase By the name of Allah
فإنه سيعيد لنا النتيجة التالية:
+-----------------------------+
|ucase by the name of Allah ............. |
+-----------------------------+
|BY THE NAME OF ALLAH ............. |
+-----------------------------+
وإذا أعطيناه وسيطاً آخراً سيعيد لنا نتيجة أخرى وهكذا.
لاحظ ما يلي:
1. أنه بعد اسم التابع يأتي قوسين وبداخلهما توجد الـ parameters . 2. التابع () ucase قدمنا له وسيطاً واحداً, وهو قيمة ثابتة نصية string.
3. القيم النصـية توضع داخل علامتي اقتباس, إما مفردتين هكذا string أو مزدوجتين هكذا string ".
4. لاحظ أنه في النتيجة قد ظهرت في الخلية العليا العبارة التالية ucase by the name of Allah ولكي تتخلص منها بحيث تظهر لك كلمة أو جملة مختصرة تستخدم العبارة as
هناك توابع في MySQL تأخذ أكثر من وسيطاً واحداً مثل التابع () ifnullا لذي يأخذ وسيطين, الأول اسم العمود والثاني قيمة ثابتة عددية, ففي حال كان التابع يأخذ أكثر من وسيط يتم الفصل بين هذه الوسطاء بفاصلة عادية, مثال:
ifnull bonus,0
لا تهتم الآن بهذا التابع فستتعرف إليه عن كثب في الدروس القادمة إن شاء الله.
وبهذا نكون قد غطينا مفهوم التابع إن شاء الله بشكل كامل, وفي الدروس القادمة سيتم التعرف على التوابع بشكل عملي إن شاء الله.