Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ใช้ ADD และ CHANGE ร่วมกับ ALTER TABLE ใน MySQL

สามารถใช้ 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 บางเคส)