MySQL-এ ইতিমধ্যে থাকা দুটি কলাম (যেমন FirstName, LastName) জড়িয়ে একটি নতুন কলাম (FullName) তৈরি ও পপুলেট করতে ALTER TABLE ADD COLUMN এবং UPDATE ... SET ... CONCAT() ব্যবহার করা হয়।
উদাহরণ
১. টেবিল তৈরি করুন
mysql> CREATE TABLE DemoTable1590 (
-> FirstName VARCHAR(20),
-> LastName VARCHAR(20)
-> );
২. ডেটা ইনসার্ট করুন
mysql> INSERT INTO DemoTable1590 VALUES('Adam', 'Smith'), ('John', 'Doe'), ('David', 'Miller');
৩. বর্তমান রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable1590;
আউটপুট:
+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Adam | Smith |
| John | Doe |
| David | Miller |
+-----------+----------+
৪. নতুন কলাম যোগ করুন এবং কনক্যাটেনেটেড মান আপডেট করুন
mysql> ALTER TABLE DemoTable1590 ADD COLUMN FullName VARCHAR(40);
mysql> UPDATE DemoTable1590 SET FullName = CONCAT(FirstName, ' ', LastName);
৫. ফাইনাল রেকর্ড দেখুন
mysql> SELECT * FROM DemoTable1590;
আউটপুট:
+-----------+----------+--------------+
| FirstName | LastName | FullName |
+-----------+----------+--------------+
| Adam | Smith | Adam Smith |
| John | Doe | John Doe |
| David | Miller | David Miller |
+-----------+----------+--------------+
আধুনিক বিকল্প (MySQL 5.7+ Generated Column):
ALTER TABLE DemoTable1590
ADD COLUMN FullName VARCHAR(40)
GENERATED ALWAYS AS (CONCAT(FirstName, ' ', LastName)) VIRTUAL;
সুবিধা: অটোমেটিক্যালি মেইনটেইন হয়, স্টোরেজ লাগে না (VIRTUAL), আপডেট/ইনসার্টে ম্যানুয়াল কোয়েরি দরকার নেই। STORED Generated Column-এ স্টোরেজ লাগে কিন্তু ইনডেক্স দেওয়া যায়।
সতর্কতা: CONCAT-এ যেকোনো আর্গুমেন্ট NULL হলে ফলাফল NULL হয়। COALESCE(FirstName, ''), COALESCE(LastName, '') ব্যবহার করুন NULL হ্যান্ডলিংয়ের জন্য।