- 1 ১. MySQL-এ স্ট্রিং ম্যানিপুলেশনের মৌলিক বিষয়
- 2 ২. MySQL-এ মৌলিক স্ট্রিং এক্সট্র্যাকশন – SUBSTRING ফাংশন
- 3 ৩. LEFT এবং RIGHT ফাংশন দিয়ে স্ট্রিং এক্সট্র্যাকশন
- 4 ৪. SUBSTRING_INDEX ফাংশন দিয়ে স্ট্রিং ভাগ করা
- 5 ৫. ব্যবহারিক প্রয়োগ: ডেটাবেস অপারেশনে স্ট্রিং এক্সট্র্যাকশন
- 6 ৬. পারফরম্যান্স অপ্টিমাইজেশন টিপস
- 7 ৭. উপসংহার
১. MySQL-এ স্ট্রিং ম্যানিপুলেশনের মৌলিক বিষয়
ডেটাবেস ম্যানেজমেন্টে, ডেটা প্রক্রিয়াকরণ এবং কুয়েরি ফলাফল অপ্টিমাইজ করার জন্য স্ট্রিং ম্যানিপুলেশন একটি অপরিহার্য দক্ষতা। MySQL স্ট্রিং বের করা ও পরিবর্তনের জন্য সুবিধাজনক ফাংশন সরবরাহ করে। এই প্রবন্ধে আমরা প্রধানত গুরুত্বপূর্ণ SUBSTRING ফাংশনের উপর দৃষ্টি নিবদ্ধ করব, অন্যান্য স্ট্রিং ম্যানিপুলেশন পদ্ধতি পরিচয় করিয়ে দেব, এবং ব্যবহারিক উদাহরণ ব্যাখ্যা করব।
২. MySQL-এ মৌলিক স্ট্রিং এক্সট্র্যাকশন – SUBSTRING ফাংশন
MySQL-এ SUBSTRING ফাংশনটি স্ট্রিংয়ের নির্দিষ্ট অংশ বের করার জন্য সবচেয়ে বেশি ব্যবহৃত ফাংশনগুলোর একটি।
SUBSTRING ফাংশনের মৌলিক সিনট্যাক্স
SUBSTRING(string, start_position, length)
- string : যেখান থেকে স্ট্রিংটি বের করা হবে।
- start_position : এক্সট্র্যাকশনের শুরুর অবস্থান (প্রথম অক্ষরের অবস্থান ১)।
- length : কতগুলো অক্ষর বের করতে হবে (যদি বাদ দেওয়া হয়, শুরুর অবস্থান থেকে স্ট্রিংয়ের শেষ পর্যন্ত এক্সট্র্যাকশন চলবে)।
উদাহরণ: মৌলিক ব্যবহার
SELECT SUBSTRING('Hello World', 2, 5);
এই কুয়েরিতে, স্ট্রিং “Hello World” এর দ্বিতীয় অক্ষর থেকে শুরু করে পাঁচটি অক্ষর বের করা হয়, ফলে ফলাফল হয় “ello “।
SUBSTRING-এ নেগেটিভ মান ব্যবহার করা
শুরুর অবস্থানের জন্য নেগেটিভ মান নির্ধারণ করলে, স্ট্রিংয়ের শেষ থেকে গুনে অক্ষর বের করা যায়।
SELECT SUBSTRING('abcdefg', -3, 2);
এই কুয়েরি “ef” ফেরত দেয়, যা শেষ থেকে গুনে তৃতীয় ও চতুর্থ অক্ষরের সমতুল্য।
৩. LEFT এবং RIGHT ফাংশন দিয়ে স্ট্রিং এক্সট্র্যাকশন
SUBSTRING ফাংশন ব্যবহার না করেও, আপনি LEFT এবং RIGHT ফাংশন ব্যবহার করে স্ট্রিংয়ের শুরু বা শেষ থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করতে পারেন।
LEFT ফাংশন
LEFT ফাংশন স্ট্রিংয়ের বাম দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
SELECT LEFT('abcdefg', 3);
এই কুয়েরি “abc” ফেরত দেয়।
RIGHT ফাংশন
অন্যদিকে, RIGHT ফাংশন স্ট্রিংয়ের ডান দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
SELECT RIGHT('abcdefg', 3);
এই কুয়েরি “efg” ফেরত দেয়। এই ফাংশনগুলো বিশেষভাবে উপকারী যখন আপনাকে স্ট্রিংয়ের শুরু বা শেষ থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করতে হয়।
৪. SUBSTRING_INDEX ফাংশন দিয়ে স্ট্রিং ভাগ করা
SUBSTRING_INDEX ফাংশনটি নির্দিষ্ট ডিলিমিটার ভিত্তিক স্ট্রিং ভাগ করতে এবং নির্দিষ্ট সাবস্ট্রিং পুনরুদ্ধার করতে ব্যবহৃত হয়। এটি বিশেষত CSV ডেটা বা সংযুক্ত মানযুক্ত ফিল্ডের জন্য উপযোগী।
SUBSTRING_INDEX ফাংশনের মৌলিক সিনট্যাক্স
SUBSTRING_INDEX(string, delimiter, N)
- string : প্রক্রিয়াকরণযোগ্য লক্ষ্য স্ট্রিং।
- delimiter : স্ট্রিং ভাগ করতে ব্যবহৃত অক্ষর (উদাহরণস্বরূপ, কমা)।
- N : বিবেচনা করার ডিলিমিটারের সংখ্যা। পজিটিভ মান শুরু থেকে গুনে, নেগেটিভ মান শেষ থেকে গুনে।
উদাহরণ: ব্যবহার
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
এই কুয়েরিতে, স্ট্রিং “apple,orange,banana” কমা দিয়ে ভাগ করা হয়, এবং প্রথম দুটি উপাদান “apple,orange” পুনরুদ্ধার করা হয়।

৫. ব্যবহারিক প্রয়োগ: ডেটাবেস অপারেশনে স্ট্রিং এক্সট্র্যাকশন
স্ট্রিং ম্যানিপুলেশন বাস্তব ডেটাবেস ম্যানেজমেন্টে অত্যন্ত উপযোগী। এখানে কয়েকটি ব্যবহারিক উদাহরণ দেওয়া হল।
পণ্যের নামের অংশ এক্সট্র্যাকশন
নিম্নলিখিত কুয়েরি পণ্যের নামের শেষে “Large” থাকা ডেটা অনুসন্ধান করে।
SELECT * FROM products WHERE SUBSTRING(name, -5, 5) = 'Large';
এইভাবে, আপনি ডেটার শেষ অংশ নির্দিষ্ট করে নির্দিষ্ট শর্ত পূরণকারী রেকর্ডগুলো বের করতে পারেন।
গাণিতিক হিসাবের জন্য সংখ্যাসূচক ডেটা এক্সট্র্যাকশন
এই উদাহরণে একটি সংখ্যাসূচক ফিল্ডের অংশ বের করে তা গাণিতিক হিসাবের জন্য ব্যবহার করা হয়েছে।
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
এই কুয়েরিতে, পণ্যের মূল্যের শেষ দুই অঙ্ক বের করে ৫ দিয়ে গুণ করা হয় এবং ফলাফলটি “total” হিসেবে প্রদর্শিত হয়।
৬. পারফরম্যান্স অপ্টিমাইজেশন টিপস
যদিও স্ট্রিং ম্যানিপুলেশন সুবিধাজনক, এটি বড় স্কেলের ডেটাবেসে পারফরম্যান্সকে প্রভাবিত করতে পারে। নিচে পারফরম্যান্স উন্নত করার জন্য কয়েকটি টিপস দেওয়া হল।
ইনডেক্সগুলি কার্যকরভাবে ব্যবহার করুন
যখন স্ট্রিংয়ের কোনো অংশ অনুসন্ধান করা হয়, সঠিকভাবে কনফিগার করা ইনডেক্সগুলি কুয়েরির গতি উল্লেখযোগ্যভাবে বাড়াতে পারে। উদাহরণস্বরূপ, LIKE ক্লজকে ইনডেক্সের সঙ্গে যুক্ত করলে, প্যাটার্নের শুরু থেকে অনুসন্ধান করা কুয়েরি, যেমন LIKE 'abc%', সর্বোত্তম হয়। বিপরীতে, LIKE '%abc' এর মতো সাফিক্স ম্যাচিং প্যাটার্নগুলি ইনডেক্সকে কার্যকরভাবে ব্যবহার করতে পারে না এবং পারফরম্যান্স হ্রাসের কারণ হতে পারে।
বড় ডেটাসেটের উপর স্ট্রিং অপারেশন
যদি আপনি বড় টেবিলগুলিতে ঘন ঘন স্ট্রিং ম্যানিপুলেশন করেন, তবে অ্যাপ্লিকেশন স্তরে স্ট্রিং রূপান্তর প্রক্রিয়া করার কথা বিবেচনা করুন। যখন ডেটাবেস-সাইড প্রক্রিয়াকরণ ভারী হয়ে যায়, তখন কাজের বোঝা অ্যাপ্লিকেশনে বিতরণ করলে সিস্টেমের লোড কমাতে সহায়তা করে।
৭. উপসংহার
MySQL-এ স্ট্রিং ম্যানিপুলেশন ডেটা এক্সট্র্যাকশন এবং রিপোর্ট জেনারেশনের জন্য একটি শক্তিশালী টুল। SUBSTRING, LEFT, এবং RIGHT এর মতো ফাংশনগুলি কার্যকরভাবে ব্যবহার করে, আপনি সহজেই প্রয়োজনীয় তথ্য পেতে পারেন। পারফরম্যান্স অপ্টিমাইজ করতে, উপযুক্ত ইনডেক্স কনফিগার করা এবং আপনার প্রক্রিয়াকরণ পদ্ধতিকে সতর্কতার সঙ্গে ডিজাইন করা গুরুত্বপূর্ণ।
এই টেকনিকগুলো আয়ত্ত করে, আপনি আপনার MySQL স্ট্রিং ম্যানিপুলেশন দক্ষতা আরও উন্নত করতে পারবেন। পরবর্তী ধাপে, আমরা রেগুলার এক্সপ্রেশন এবং অন্যান্য উন্নত স্ট্রিং প্রক্রিয়াকরণ টেকনিক শিখতে সুপারিশ করি।

