- 1 1. හැඳින්වීම
- 2 2. MySQL නිති අනුප්රාප්තිකරණයන්හි මූලික
- 3 3. උදාහරණ සමඟ MySQL නිති අනුප්රාප්තිකරණ භාවිතා කිරීමේ ක්රම
- 4 4. MySQL 8.0 හි නව නිති අනුප්රාප්තිකරණ විශේෂාංග
- 5 5. MySQL නියමිත ප්රකාශන භාවිතා කරන ප්රායෝගික ප්රශ්න උදාහරණ
- 6 6. MySQL නියමිත ප්රකාශන සඳහා වැදගත් සැලකිලි සහ හොඳ පුරුදු
- 7 7. නිතර අසන ප්රශ්න (FAQ)
- 8 8. Conclusion
1. හැඳින්වීම
MySQL යනු වෙබ් යෙදුම් සහ දත්ත කළමනාකරණ පද්ධතිවලදී වඩාත් පුළුල් ලෙස භාවිතා වන සබඳක දත්ත සමුදාය කළමනාකරණ පද්ධති (RDBMS) වලින් එකකි. MySQL හි දත්ත සෙවීම සහ සමනය කිරීම සඳහා විවිධ ක්රම තිබේ, සහ ඒවායින් නිති අනුප්රාප්තිකරණ ඉතා බලවත් මෙවලමක් ය. MySQL හි නිති අනුප්රාප්තිකරණ විශේෂාංග භාවිතයෙන්, සංකීර්ණ රටා මත පදනම් වූ සෙවීම් සිදු කළ හැකි අතර, දත්ත මෙහෙයුම් කාර්යක්ෂමතාවය බෙහෙවින් වැඩි දියුණු කළ හැකිය. මෙම ලිපියෙහි, MySQL නිති අනුප්රාප්තිකරණයන්හි මූලික සිට ප්රායෝගික භාවිතය, සැබෑ ලෝක ප්රශ්න උදාහරණ, වාසි සහ වැදගත් සලකා බැලීම් දක්වා සියල්ල විස්තරාත්මකව පැහැදිලි කර ඇත. ඔබ ආරම්භකයෙකු වුවද උසස් පරිශීලකයෙකු වුවද, මෙම මාර්ගෝපදේශය වටිනා තීක්ෂ්ණ බුද්ධියක් ලබා දෙනු ඇත—එබැවින් අවසානය දක්වා කියවීමට වග බලා ගන්න.
2. MySQL නිති අනුප්රාප්තිකරණයන්හි මූලික
නිති අනුප්රාප්තිකරණයන්හි මූලික සංකල්ප සහ වාසි
නිති අනුප්රාප්තිකරණය යනු විශේෂිත වචන රටා නිර්වචනය කිරීම සඳහා භාවිතා වන බලවත් මෙවලමකි, සෙවීම සහ වචන ප්රතිස්ථාපනය සඳහා. එය සම්හර අක්ෂර හෝ වචන අඩංගු දත්ත සොයා ගැනීමට සහ දත්ත ආකෘතිකරණය සහ සත්යාපනය සඳහා සාමාන්යයෙන් භාවිතා වේ. MySQL හි නිති අනුප්රාප්තිකරණ භාවිතයෙන්, සම්මත ප්රශ්නවලින් අමාරුවෙන් කළමනාකරණය කළ සංකීර්ණ රටා සෙවීමට හැකි අතර, වඩාත් කාර්යක්ෂම දත්ත කළමනාකරණය සක්රිය කරයි.
MySQL හි නිති අනුප්රාප්තිකරණයන්හි භූමිකාව
MySQL හි, නිති අනුප්රාප්තිකරණ යනු නම්යශීලී දත්ත නිංඛනනය සහ සත්යාපනයට ඉඩ සලසයි. සම්මත LIKE කොටසට සාපේක්ෂව, නිති අනුප්රාප්තිකරණ උසස් සහ සංකීර්ණ රටා සෙවීම් සක්රිය කරයි. උදාහරණයක් ලෙස, REGEXP ක්රියාකාරකය භාවිතයෙන්, විශේෂිත රටාවකට ගැලපෙන දත්ත සෙවීමට ලේසියෙන් හැකිය. මෙම ක්රියාකාරිත්වය දත්ත සමුදාය තුළ තොරතුරු නිවැරදිව සමනය කිරීමට සහ වඩාත් සංකීර්ණ දත්ත සැකසීම් සිදු කිරීමට හැකි කරයි.
MySQL සහ අනෙකුත් දත්ත සමුදායන් අතර වෙනස්කම්
නිති අනුප්රාප්තිකරණ PostgreSQL සහ Oracle වැනි අනෙකුත් දත්ත සමුදාය පද්ධතිවලදී ද ලබා ගත හැකිය. කෙසේ වෙතත්, MySQL එහිම REGEXP සහ REGEXP_LIKE ඇතුළු නිති අනුප්රාප්තිකරණ ක්රියාකාරක සහ ශක්ති ලබා දෙයි. MySQL හි නිති අනුප්රාප්තිකරණ ක්රියාකාරිත්වය සරල එහෙත් මූලික රටා-ගැලපුම් හැකියාවන්හි බොහෝමයක් ආවරණය කරයි, විවිධ දත්ත සැකසීම් තත්ත්වයන් සඳහා ඉතා ප්රායෝගික කරයි. විශේෂයෙන්, MySQL 8.0 සිට ආරම්භ වන විට, Unicode සහාය හඳුන්වා දුන්නේ, බහු භාෂා දත්ත මෙහෙයුම් සක්රිය කරමිනි.
3. උදාහරණ සමඟ MySQL නිති අනුප්රාප්තිකරණ භාවිතා කිරීමේ ක්රම
REGEXP ක්රියාකාරකය භාවිතා කිරීම
MySQL හි, REGEXP ක්රියාකාරකය නිති අනුප්රාප්තිකරණ ගැලපුම් සිදු කිරීමට භාවිතා වේ. මෙම ක්රියාකාරකය විශේෂිත වචනය විශේෂිත රටාවකට ගැලපෙන බව තීරණය කරයි. උදාහරණයක් ලෙස, abc වචනය අඩංගු වාර්තා ලබා ගැනීමට අවශ්ය නම්, පහත SQL ප්රකාශනය ලියන්න:
SELECT * FROM table_name WHERE column_name REGEXP 'abc';
මෙම ප්රශ්නයෙන් විශේෂිත වර්ගය “abc” වචනය අඩංගු සියලුම වාර්තා ලබා ගනී. අත්මතාවෙන්, REGEXP අකුරු-අකුරු අවධානයක් නොගන්නා බැවින්, එය “ABC” සහ “Abc” ද ගැලපෙනු ඇත. අකුරු-අකුරු අවධානයක් සහිත ගැලපුම් අවශ්ය නම්, ද්විමාද වර්ගය භාවිතයෙන් සෙවීම සිදු කළ යුතුය.
REGEXP_LIKE ශක්තිය භාවිතා කිරීම
MySQL 8.0 සිට ආරම්භ වන විට, REGEXP_LIKE ශක්තිය හඳුන්වා දුන්නේ, නිති අනුප්රාප්තිකරණ සමඟ වඩාත් නම්යශීලී රටා ගැලපුම් සපයයි. REGEXP_LIKE විශේෂිත වචනය රටාවට ගැලපෙන විට TRUE ආපසු ලබා දෙයි සහ REGEXP හා සමානව භාවිතා කළ හැකිය.
SELECT * FROM table_name WHERE REGEXP_LIKE(column_name, 'abc');
REGEXP_LIKE රටා ගැලපුම් හැසිරීම තවදුරටත් සකස් කිරීමට අමතර විකල්ප ඉඩ සලසයි. එය MySQL හි ඉදිරියේ සම්මත නිති අනුප්රාප්තිකරණ ශක්තිය බව අපේක්ෂා කෙරේ.
4. MySQL 8.0 හි නව නිති අනුප්රාප්තිකරණ විශේෂාංග
MySQL 8.0 හි නිති අනුප්රාප්තිකරණයන්හි වැඩිදියුණු කිරීම්
In MySQL 8.0 හි, නියමිත ප්රකාශන (regular expression) ක්රියාකාරිත්වය විශාල ලෙස වැඩිදියුණු කර ඇත, දත්ත සෙවීමේ ස flexibilty වැඩි කරයි. විශේෂයෙන්, Unicode සහය එකතු කිරීම මලටි-භාෂා දත්ත සැකසීම සක්රීය කරයි, ජපන් භාෂාව සහ අනෙකුත් භාෂා ඇතුළත්. අමතරව, නවින් පරිච්ඡේදිත REGEXP_REPLACE සහ REGEXP_INSTR වැනි ක්රියාකාරකම් ඔබට නියමිත ප්රකාශන භාවිතා කර පැටර්න්-අධාරිත ප්රතිස්ථාපනය සහ ස්ථානය ලබා ගැනීමට ඉඩ සලසයි.
නව විශේෂාංග භාවිතා කරන උදාහරණ ප්රශ්න
REGEXP_REPLACE භාවිතා කිරීමෙන්, ඔබට නියමිත පැටර්නයට ගැලපෙන 문자열යක් වෙනත් 문자열යක් සමඟ ප්රතිස්ථාපනය කළ හැක. උදාහරණයක් ලෙස, තීරුවක “abc” ට “xyz” ප්රතිස්ථාපනය කිරීමට, පහත ප්රශ්නය ලියන්න:
SELECT REGEXP_REPLACE(column_name, 'abc', 'xyz') FROM table_name;
ඉහත පෙන්වා ඇති පරිදි, MySQL 8.0 නියමිත ප්රකාශන භාවිතා කර දත්ත ප්රතිස්ථාපනය සහ පරිවර්තනය කාර්යක්ෂමව සිදු කිරීමට ඉඩ සලසයි, එමඟින් දත්ත සැකසීම වඩාත් ස flexibilty සහ බලවත් වේ.

5. MySQL නියමිත ප්රකාශන භාවිතා කරන ප්රායෝගික ප්රශ්න උදාහරණ
දත්ත උපුටා ගැනීම සහ වලංගුකරණය
උදාහරණයක් ලෙස, ඔබට නියමිත පැටර්නයකට (උදාහරණයක් ලෙස, ඊමේල් ලිපිනයේ ආකෘතිය) ගැලපෙන දත්ත උපුටා ගැනීමට අවශ්ය නම්, නියමිත ප්රකාශන භාවිතා කර ප්රතිඵල පිරික්සිය හැක. පහත SQL ප්රකාශනය සාමාන්ය ඊමේල් ලිපිනයේ ආකෘතියට ගැලපෙන දත්ත පමණක් උපුටා ගනී:
SELECT * FROM table_name WHERE column_name REGEXP '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$';
මෙම ප්රශ්නය, නියමිත තීරුව සම්මත ඊමේල් ලිපිනයේ පැටර්නයට ගැලපෙන රෙකෝඩ්ස් උපුටා ගනී. ඊමේල් ලිපින වල වලංගුකරණය පරීක්ෂා කිරීමේදී මෙය ප්රයෝජනවත් වේ.
දත්ත ප්රතිස්ථාපනය සහ ආකෘතිකරණය
MySQL 8.0 සිට, REGEXP_REPLACE භාවිතා කර දත්ත ප්රතිස්ථාපනය සහ ආකෘතිකරණය පහසු කර ඇත. උදාහරණයක් ලෙස, තීරුවක සුරැකි දුරකථන අංකයන්ගේ ආකෘතිය වෙනස් කිරීමට, නියමිත ප්රකාශන-අධාරිත ප්රතිස්ථාපනයක් භාවිතා කළ හැක:
SELECT REGEXP_REPLACE(column_name, '(\d{3})-(\d{4})', '$1 $2') FROM table_name;
මෙම ප්රශ්නය හයිෆන් එක ඉඩක් (space) සමඟ ප්රතිස්ථාපනය කරයි, එමඟින් දත්ත වඩාත් කියවීමට පහසු ආකාරයෙන් ආකෘතිකරණය කළ හැක.
6. MySQL නියමිත ප්රකාශන සඳහා වැදගත් සැලකිලි සහ හොඳ පුරුදු
කාර්ය සාධන බලපෑම සහ සුදුසුකම්
නියමිත ප්රකාශන ඉතා ප්රයෝජනවත් වුවත්, සංකීර්ණ පැටර්න භාවිතා කිරීම කාර්ය සාධනයට නරක බලපෑමක් ඇති කරයි. විශාල දත්ත කට්ටල සමඟ වැඩ කරන විට, සෙවීමේ වේගය අඩුවිය හැක. එබැවින්, හැකි තරම් සරල පැටර්න භාවිතා කිරීම සහ අනිවාර්ය නොවන සෙවීම් වලින් වැළැක්වීම සුදුසුය. කාර්ය සාධනය වැඩිදියුණු කිරීමට, අවශ්ය තැන්වල ඉන්ඩෙක්සස් (indexes) යෙදීමද උපදෙස් වේ.
කියවීමේ පහසුව සහ නඩත්තුකිරීමේ හැකියාව වැඩි කිරීම
සංකීර්ණ නියමිත ප්රකාශන කියවීමේ පහසුව අඩු කරයි. ඒ නිසා, ප්රශ්න තුළ අදහස් පැහැදිලි කිරීම සඳහා අදහස් (comments) එකතු කිරීම වැදගත් වේ. තවද, පිරිසිදු සහ කළමනාකරණය කළ හැකි කේතයක් රැක ගැනීමට, උප-පැටර්න සහ සංකේත (symbols) අධික ලෙස භාවිතා කිරීමෙන් වැළැක්වීමට උත්සාහ කරන්න, සහ කාලයත් සමඟ නඩත්තු කිරීම පහසු වන ප්රශ්න ලියන්න.
7. නිතර අසන ප්රශ්න (FAQ)
MySQL හි භාවිතා කළ හැකි නියමිත ප්රකාශන පැටර්න වර්ග කුමනවාද?
MySQL නියමිත ප්රකාශන PCRE (Perl Compatible Regular Expressions) මත පදනම් වේ. උදාහරණයක් ලෙස, ^ (රේඛාවේ ආරම්භ), $ (රේඛාවේ අවසානය), [a-z] (අකුරු පරාසය), සහ \d (අංකය) භාවිතා කළ හැක. මෙම පැටර්න එකතු කිරීමෙන්, ඔබට සංකීර්ණ සෙවීම් කොන්දේසි නිර්වචනය කළ හැක.
MySQL හි LIKE වාක්යය සහ REGEXP අතර වෙනස කුමක්ද?
LIKE වාක්යය % සහ _ වැනි වයිල්ඩ්කාර්ඩ් (wildcards) භාවිතා කර සරල පැටර්න ගැලපීම ඉඩ දේ. එයට විරුද්ධව, REGEXP වඩාත් උසස් පැටර්න ගැලපීම සක්රීය කර, සංකීර්ණ කොන්දේසි වලට ගැලපෙන දත්ත සෙවීමට හැකියාව ඇත. උදාහරණයක් ලෙස, ඔබට විශේෂිත 문자열 පැටර්න හෝ ආකෘතිය මත දත්ත පිරික්සීමට අවශ්ය නම්, REGEXP භාවිතා කිරීම සුදුසු වේ.
MySQL නියමිත ප්රකාශන ක්රියා නොකරන්නේ නම් මට කුමක් කළ යුතුද?
First, verify that your MySQL version supports regular expressions. If regular expressions are not supported, an upgrade may be required. Additionally, check whether there are errors in your pattern and ensure that special characters are properly escaped when necessary.
පළමුව, ඔබේ MySQL අනුවාදය නියමිත රෙගුලාර් ප්රකාශන (regular expressions) සහය දක්වනවාදැයි පරීක්ෂා කරන්න. රෙගුලාර් ප්රකාශන සහය නොදක්වනවා නම්, නවීකරණයක් අවශ්ය විය හැක. තවද, ඔබේ රටාව තුළ දෝෂ තිබේදැයි පරීක්ෂා කර, අවශ්ය විට විශේෂ අක්ෂරයන් නිවැරදිව ඉවත් කර ඇති බවට සහතික වන්න.
8. Conclusion
මෙම ලිපියේ, අපි MySQL රෙගුලාර් ප්රකාශනවල මූලික කරුණු, ප්රායෝගික භාවිතා ක්රම, වාස්තුක උදාහරණ, සහ වැදගත් සැලකිලිම් සවිස්තරාත්මකව පැහැදිලි කර ඇත. MySQL හි රෙගුලාර් ප්රකාශන භාවිතා කිරීමෙන්, දත්ත මෙහෙයුම් කාර්යක්ෂමතාවය ගණනාවක් වැඩි කළ හැක. විශේෂයෙන් MySQL 8.0 සහ ඊට පසු අනුවාදවල, Unicode සහය වැනි වැඩිදියුණු ලක්ෂණ මගින් බහුභාෂා දත්ත කාර්යක්ෂමව කළමනාකරණය කළ හැක. ඔබ මෙහිදී ඉගෙන ගත් දේ අදාළ කර, කාර්යක්ෂම සහ උසස් දත්ත සෙවීම් ක්රියාත්මක කිරීමට අපි ඔබට උත්සාහ දක්වමු.


