MySQL-এ ALTER TABLE ব্যবহার করে কোনো নির্দিষ্ট কলামের পরে নতুন কলাম যোগ করা এবং ডিফল্ট ভ্যালু সেট করা যায়।
প্রাথমিক টেবিল কাঠামো
mysql> CREATE TABLE DemoTable (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentFirstName VARCHAR(20),
-> StudentAge INT,
-> StudentCountryName VARCHAR(100)
-> );
mysql> DESC DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentFirstName | varchar(20) | YES | | NULL | |
| StudentAge | int(11) | YES | | NULL | |
| StudentCountryName | varchar(100) | YES | | NULL | |
+--------------------+--------------+------+-----+---------+----------------+
StudentFirstName-এর পর StudentLastName যোগ করা (ডিফল্ট 'Doe')
ধাপ ১: কলাম যোগ করুন AFTER ক্লজ দিয়ে
mysql> ALTER TABLE DemoTable
-> ADD StudentLastName VARCHAR(20) NOT NULL
-> AFTER StudentFirstName;
ধাপ ২: ডিফল্ট ভ্যালু সেট করুন
mysql> ALTER TABLE DemoTable
-> ALTER StudentLastName SET DEFAULT 'Doe';
আপডেট হওয়া টেবিল কাঠামো
mysql> DESC DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId | int(11) | NO | PRI | NULL | auto_increment |
| StudentFirstName | varchar(20) | YES | | NULL | |
| StudentLastName | varchar(20) | NO | | Doe | |
| StudentAge | int(11) | YES | | NULL | |
| StudentCountryName | varchar(100) | YES | | NULL | |
+--------------------+--------------+------+-----+---------+----------------+
নোট: MySQL 8.0.13+ এ একই কমান্ডে দুটি কাজ করা যায়: ALTER TABLE DemoTable ADD StudentLastName VARCHAR(20) NOT NULL DEFAULT 'Doe' AFTER StudentFirstName;