কম্পিউটার

MySQL টেবিল রেকর্ডে শুধুমাত্র একটি অক্ষরের প্রথম ঘটনার জন্য অনুসন্ধান/প্রতিস্থাপন করবেন?


আপনি REPLACE() ফাংশনের সাথে CONCAT() এর সাহায্যে এটি অর্জন করতে পারেন। প্রথম ঘটনা খুঁজে পেতে আপনাকে INSTR() ফাংশন ব্যবহার করতে হবে।

সিনট্যাক্স নিম্নরূপ -

UPDATE yourTableName
SET UserPost = CONCAT(REPLACE(LEFT(yourColumnName, INSTR(yourColumnName, 'k')), 'k', 'i'),
SUBSTRING(yourColumnName, INSTR(yourColumnName, 'k') + 1));

উপরের সিনট্যাক্স বুঝতে, আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -

mysql> create table UserInformation
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> UserName varchar(10),
   -> UserPost text
   -> );
Query OK, 0 rows affected (2.05 sec)

এখন আপনি insert কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করতে পারেন। প্রশ্নটি নিম্নরূপ -

mysql> insert into UserInformation(UserName,UserPost) values('Larry','Thks is a MySQL query');
Query OK, 1 row affected (0.16 sec)
mysql> insert into UserInformation(UserName,UserPost) values('Mike','Thks is not a java program');
Query OK, 1 row affected (0.31 sec)
mysql> insert into UserInformation(UserName,UserPost) values('Sam','Thks is a SQL syntax');
Query OK, 1 row affected (0.18 sec)

একটি নির্বাচন বিবৃতি ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> select *from UserInformation;

নিচের আউটপুট −

+--------+----------+----------------------------+
| UserId | UserName | UserPost                   |
+--------+----------+----------------------------+
|      1 | Larry    | Thks is a MySQL query      |
|      2 | Mike     | Thks is not a java program |
|      3 | Sam      | Thks is a SQL syntax       |
+--------+----------+----------------------------+
3 rows in set (0.00 sec)

এখানে অনুসন্ধান/প্রতিস্থাপন করার জন্য ক্যোয়ারী আছে কিন্তু শুধুমাত্র প্রথমবার একটি মান একটি রেকর্ডে প্রদর্শিত হবে। এখানে, 'k'-এর প্রথম উপস্থিতি 'i' -

দিয়ে প্রতিস্থাপিত হয়েছে
mysql> update UserInformation
   -> set UserPost=CONCAT(REPLACE(LEFT(UserPost, INSTR(UserPost, 'k')), 'k', 'i'),
   -> SUBSTRING(UserPost, INSTR(UserPost, 'k') + 1));
Query OK, 3 rows affected (0.16 sec)
Rows matched: 3 Changed: 3 Warnings: 0

আবার টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> select *from UserInformation;

নিম্নোক্ত আউটপুটটি 'k' এর প্রথম উপস্থিতি প্রদর্শন করে যা 'I' -

দিয়ে প্রতিস্থাপিত হয়েছে
+--------+----------+----------------------------+
| UserId | UserName | UserPost                   |
+--------+----------+----------------------------+
|      1 | Larry    | This is a MySQL query      |
|      2 | Mike     | This is not a java program |
|      3 | Sam      | This is a SQL syntax       |
+--------+----------+----------------------------+
3 rows in set (0.00 sec)

  1. কিভাবে একটি MySQL টেবিলে ^ অক্ষর অনুসন্ধান করবেন?

  2. মাইএসকিউএল টেবিলে না থাকা মানগুলির জন্য ডাটাবেস জিজ্ঞাসা করুন?

  3. MySQL ক্যোয়ারী সমস্ত রেকর্ড আপডেট করার জন্য শুধুমাত্র প্রথম অক্ষরকে বড় হাতের লেখা করতে এবং অন্য সবগুলো ছোট হাতের অক্ষরে সেট করতে

  4. MySQL-এ একটি স্ট্রিং-এ শুধুমাত্র প্রথম বার বার করা মান কীভাবে প্রতিস্থাপন করবেন