MySQL-এ কলামের নাম পরিবর্তন করতে ALTER TABLE ... CHANGE কমান্ড ব্যবহার করা হয়। সিনট্যাক্স: ALTER TABLE table_name CHANGE old_name new_name data_type।
টেবিল তৈরি
mysql> CREATE TABLE DemoTable796 (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100),
StudentAge INT
);
Query OK, 0 rows affected (0.56 sec)
টেবিল স্ট্রাকচার দেখানো (পরিবর্তন আগে)
mysql> DESC DemoTable796;
আউটপুট:
+------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
কলাম নাম পরিবর্তন: Name -> StudentName
mysql> ALTER TABLE DemoTable796 CHANGE Name StudentName VARCHAR(100); Query OK, 0 rows affected (0.29 sec) Records: 0 Duplicates: 0 Warnings: 0
টেবিল স্ট্রাকচার আবার দেখানো (পরিবর্তন পর)
mysql> DESC DemoTable796;
আউটপুট (Name এখন StudentName):
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | StudentId | int(11) | NO | PRI | NULL | auto_increment | | StudentName | varchar(100) | YES | | NULL | | | StudentAge | int(11) | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
গুরুত্বপূর্ণ পয়েন্ট
CHANGE-এ পুরনো নাম, নতুন নাম, **এবং ডেটা টাইপ** আবার লিখতে হয় (যদিও একই টাইপ হোক)।- ডেটা টাইপ পরিবর্তন করলেও কাজ করে (ডেটা কনভার্ট হয় যদি সম্ভব হয়)।
RENAME COLUMN(MySQL 8.0+):ALTER TABLE t RENAME COLUMN old TO new;- ডেটা টাইপ লাগে না।- ইনডেক্স, ফরেন কী ইত্যাদি স্বয়ংক্রিয় আপডেট হয়।