ALTER TABLE ใช้ทำอะไร?
ใช้แก้ไขโครงสร้างตาราง: เพิ่ม/ลบ/แก้ไขคอลัมน์ เปลี่ยนชื่อคอลัมน์ หรือเปลี่ยนชื่อตาราง
1. เพิ่มคอลัมน์เดี่ยว
ALTER TABLE table_name
ADD column_name data_type;
ALTER TABLE nhanvien
ADD ho VARCHAR(50);
2. เพิ่มหลายคอลัมน์พร้อมกัน
ALTER TABLE table_name
ADD column1 data_type,
column2 data_type,
...;
ALTER TABLE nhanvien
ADD ho VARCHAR(50),
ten VARCHAR(40);
3. แก้ไขคอลัมน์ (เปลี่ยนชนิดข้อมูล/NULLability)
ALTER TABLE table_name
ALTER COLUMN column_name new_data_type;
ALTER TABLE nhanvien
ALTER COLUMN ho VARCHAR(75) NOT NULL;
4. ลบคอลัมน์
ALTER TABLE table_name
DROP COLUMN column_name;
ALTER TABLE nhanvien
DROP COLUMN ho;
5. เปลี่ยนชื่อคอลัมน์
ใช้ sp_rename (Microsoft แนะนำ drop/create ใหม่เพื่อไม่ให้ stored procedure/script ชำรุด)
EXEC sp_rename 'table_name.old_column_name', 'new_column_name', 'COLUMN';
EXEC sp_rename 'nhanvien.ho', 'honhanvien', 'COLUMN';
6. เปลี่ยนชื่อตาราง
ไม่มีคำสั่ง ALTER TABLE RENAME ใช้ sp_rename แทน (เช่นเดียวกัน แนะนำ drop/create)
EXEC sp_rename 'old_table_name', 'new_table_name';
EXEC sp_rename 'nhanvien', 'nv';
ข้อควรระวัง: การ rename อาจทำให้ view, stored procedure, trigger ที่อ้างอิงชื่อเก่าเสียหาย ควรตรวจสอบ dependencies ก่อน