ใช้ ALTER TABLE ... ADD COLUMN เพิ่มคอลัมน์ใหม่ (รองรับเพิ่มหลายคอลัมน์พร้อมกัน)
สร้างตาราง
mysql> CREATE TABLE AddingColumnNameDemo (Id INT, Name VARCHAR(100));
ดูโครงสร้างก่อน
mysql> DESC AddingColumnNameDemo; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(100) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+
เพิ่ม Column Age และ Address
mysql> ALTER TABLE AddingColumnNameDemo
-> ADD COLUMN Age INT,
-> ADD COLUMN Address VARCHAR(300);
Query OK, 0 rows affected (0.53 sec)
ดูโครงสร้างหลังเพิ่ม
mysql> DESC AddingColumnNameDemo; +---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(100) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | Address | varchar(300) | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
Syntax ครบถ้วน
ALTER TABLE table_name ADD COLUMN col_name data_type [DEFAULT value] [NULL|NOT NULL] [AUTO_INCREMENT] [COMMENT '...'] [FIRST | AFTER existing_col_name];
ตัวเลือกตำแหน่ง
FIRST→ เพิ่มเป็นคอลัมน์แรกAFTER col_name→ เพิ่มหลังคอลัมน์ที่ระบุ- ไม่ระบุ → เพิ่มท้ายสุด (Default)
Performance: ADD COLUMN ที่ท้ายตาราง (Default) เร็วที่สุด (Metadata Only ใน MySQL 8.0+ Instant DDL) ADD COLUMN FIRST/AFTER ต้อง Rebuild Table (Lock/Slow)