কম্পিউটার টিউটোরিয়াল

MySQL-এ নির্দিষ্ট সাবস্ট্রিংয়ের সাথে শেষ হওয়া সারি খুঁজে বের করা এবং আপডেট করা

নির্দিষ্ট সাবস্ট্রিংয়ের সাথে শেষ হওয়া সারি খুঁজে বের করে নতুন ভ্যালু দিয়ে আপডেট করতে LIKE অপারেটর ব্যবহার করতে হয়।

সিনট্যাক্স নিচে দেওয়া হলো:

UPDATE yourTableName SET yourColumnName='yourValue' WHERE yourColumnName LIKE '%.yourString';

এটি বুঝতে একটি টেবিল তৈরি করা যাক। টেবিল তৈরির কোয়েরি:

mysql> create table RowEndsWithSpecificString 
-> ( 
-> Id int NOT NULL AUTO_INCREMENT, 
-> FileName varchar(30), 
-> PRIMARY KEY(Id) 
-> ); Query OK, 0 rows affected (1.50 sec)

ইনসার্ট কমান্ড দিয়ে কিছু রেকর্ড ইনসার্ট করা যাক। কোয়েরিটি হলো:

mysql> insert into RowEndsWithSpecificString(FileName) values('MergeSort.c'); Query OK, 1 row affected (0.11 sec) mysql> insert into RowEndsWithSpecificString(FileName) values('BubbleSortIntroduction.pdf'); Query OK, 1 row affected (0.25 sec) mysql> insert into RowEndsWithSpecificString(FileName) values('AllMySQLQuery.docx'); Query OK, 1 row affected (0.18 sec) mysql> insert into RowEndsWithSpecificString(FileName) values('JavaCollections.pdf'); Query OK, 1 row affected (0.16 sec) mysql> insert into RowEndsWithSpecificString(FileName) values('JavaServlet.pdf'); Query OK, 1 row affected (0.18 sec)

সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখানো যাক। কোয়েরিটি হলো:

mysql> select *from RowEndsWithSpecificString;

আউটপুট নিচে দেওয়া হলো:

+----+----------------------------+ | Id | FileName | +----+----------------------------+ | 1 | MergeSort.c | | 2 | BubbleSortIntroduction.pdf | | 3 | AllMySQLQuery.docx | | 4 | JavaCollections.pdf | | 5 | JavaServlet.pdf | +----+----------------------------+ 5 rows in set (0.00 sec)

নির্দিষ্ট সাবস্ট্রিংয়ের সাথে শেষ হওয়া কলাম খুঁজে বের করে আপডেট করার কোয়েরি নিচে দেওয়া হলো। নিচের কোয়েরি .docx দিয়ে শেষ হওয়া সাবস্ট্রিং খুঁজে বের করে এটিকে .pdf দিয়ে রিপ্লেস করবে। কোয়েরিটি হলো:

mysql> update RowEndsWithSpecificString 
-> set FileName='IntroductionToCoreJava.pdf' 
-> where FileName LIKE '%.docx'; Query OK, 1 row affected (0.14 sec) Rows matched: 1 Changed: 1 Warnings: 0

আবার টেবিলের রেকর্ড চেক করা যাক। কোয়েরিটি হলো:

mysql> select *from RowEndsWithSpecificString;

আউটপুট নিচে দেওয়া হলো:

+----+----------------------------+ | Id | FileName | +----+----------------------------+ | 1 | IntroductionToCoreJava.pdf | | 2 | BubbleSortIntroduction.pdf | | 3 | IntroductionToCoreJava.pdf | | 4 | JavaCollections.pdf | | 5 | JavaServlet.pdf | +----+----------------------------+ 5 rows in set (0.00 sec)

ব্যাখ্যা: LIKE '%.docx' প্যাটার্নটি যেকোনো স্ট্রিং যেটি .docx দিয়ে শেষ হয়, সেগুলো ম্যাচ করে। UPDATE ... SET FileName = 'new_value' WHERE FileName LIKE '%.docx' দিয়ে ম্যাচ হওয়া সারিগুলোর ফাইলনেম পরিবর্তন করা হয়েছে। এক্সটেনশন চেঞ্জ, ফাইল টাইপ ফিল্টারিং, ইত্যাদি কাজে এই প্যাটার্ন খুব কাজে লাগে।

  1. MySQL-এ নির্দিষ্ট কলাম নামে টেবিল খুঁজে বের করা

  2. MySQL-এ নির্দিষ্ট কলামের মান সওয়াপ (Swap) করা

  3. MySQL LIKE কোয়েরিতে % (পার্সেন্ট) চিহ্ন সার্চ করা (Escape ব্যবহার করে)

  4. MySQL-এ REGEXP ব্যবহার করে পাইপ-ডিলিমিটেড কলামে নির্দিষ্ট মান খুঁজুন