สามารถใช้ ADD และ CHANGE พร้อมกันในคำสั่ง ALTER TABLE ได้ในคำสั่งเดียว
ตัวอย่างการใช้งาน
1. สร้างตารางเดิม
mysql> create table DemoTable
-> (
-> Name varchar(100),
-> Age int
-> );
Query OK, 0 rows affected (0.84 sec)
2. โครงสร้างก่อนเปลี่ยน
+-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | Name | varchar(100) | YES | | NULL | | | Age | int(11) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+
3. ALTER TABLE หลายอย่างพร้อมกัน
mysql> alter table DemoTable
-> add column Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> add column CountryName varchar(100) after Age,
-> change column Name FirstName varchar(200);
Query OK, 0 rows affected (1.51 sec)
4. โครงสร้างหลังเปลี่ยน
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | FirstName | varchar(200) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | CountryName | varchar(100) | YES | | NULL | | | Id | int(11) | NO | PRI | NULL | auto_increment | +-------------+--------------+------+-----+---------+----------------+
คำสั่งที่ใช้ร่วมกันได้ใน ALTER TABLE
ADD COLUMN- เพิ่มคอลัมน์ใหม่DROP COLUMN- ลบคอลัมน์CHANGE COLUMN- เปลี่ยนชื่อและ/หรือชนิดข้อมูลMODIFY COLUMN- เปลี่ยนชนิดข้อมูล/คุณสมบัติ โดยไม่เปลี่ยนชื่อRENAME COLUMN(MySQL 8.0+) - เปลี่ยนชื่ออย่างเดียวADD INDEX / DROP INDEX- จัดการดัชนี
หมายเหตุ: การ ALTER TABLE ขนาดใหญ่อาจล็อกตาราง (MySQL 5.6+ รองรับ Online DDL บางเคส)