คำสั่ง ALTER TABLE ใน SQL ใช้ในการแก้ไขโครงสร้างของตารางในฐานข้อมูล ซึ่งสามารถใช้ได้ในหลายรูปแบบ เช่น เพิ่มคอลัมน์ ลบคอลัมน์ เปลี่ยนแปลงประเภทข้อมูลของคอลัมน์ หรือเพิ่มข้อจำกัด (constraints) เป็นต้น
สร้างตารางตัวอย่าง
สร้างตารางตัวอย่างโดยใช้คำสั่งดังนี้
-- สร้างตารางตัวอย่าง
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
BirthDate DATE,
Salary DECIMAL(10, 2)
);
-- แทรกข้อมูลตัวอย่างเข้าไปในตาราง
INSERT INTO Employees (EmployeeID, FirstName, LastName, BirthDate, Salary)
VALUES
(1, 'John', 'Doe', '1985-01-15', 50000.00),
(2, 'Jane', 'Smith', '1990-06-24', 55000.00),
(3, 'Sara', 'Lee', '1987-03-11', 47000.00);ข้อมูลในตารางตัวอย่างจะเป็นดังนี้

การใช้คำสั่ง ALTER TABLE เพื่อเพิ่มคอลัมน์
เราสามารถใช้คำสั่ง ALTER TABLE เพื่อเพิ่มคอลัมน์เข้าไปในตาราง ดังนี้
-- เพิ่มคอลัมน์ Email เข้าไปในตาราง Employees
ALTER TABLE Employees
ADD Email VARCHAR(100);คำสั่งนี้เพิ่มคอลัมน์ใหม่ที่ชื่อว่า Email ลงในตาราง Employees โดยมีประเภทข้อมูลเป็น VARCHAR(100)

การใช้คำสั่ง ALTER TABLE เพื่อเปลี่ยนแปลงประเภทข้อมูลของคอลัมน์
เราสามารถใช้คำสั่ง ALTER TABLE เพื่อเปลี่ยนแปลงประเภทข้อมูลของคอลัมน์ในตารางได้ ดังนี้
-- เปลี่ยนประเภทข้อมูลของคอลัมน์ Salary ให้เป็น FLOAT
ALTER TABLE Employees
MODIFY Salary FLOAT;คำสั่งนี้จะเปลี่ยนประเภทข้อมูลของคอลัมน์ Salary จาก DECIMAL(10, 2) เป็น FLOAT เพื่อให้สามารถเก็บค่าตัวเลขที่มีความแม่นยำแบบทศนิยมได้มากขึ้น

การใช้คำสั่ง ALTER TABLE เพื่อเปลี่ยนชื่อคอลัมน์
เราสามารถใช้คำสั่ง ALTER TABLE เพื่อเปลี่ยนชื่อคอลัมน์ในตารางได้ ดังนี้
-- เปลี่ยนชื่อคอลัมน์ LastName เป็น FamilyName
ALTER TABLE Employees
RENAME COLUMN LastName TO FamilyName;คำสั่งนี้จะเปลี่ยนชื่อคอลัมน์จาก LastName เป็น FamilyName

การใช้คำสั่ง ALTER TABLE เพื่อเพิ่มข้อจำกัด (constraint)
เราสามารถใช้คำสั่ง ALTER TABLE เพื่อเพิ่มข้อจำกัด (constraint) ให้กับคอลัมน์ในตารางได้ ดังนี้
-- เพิ่มข้อจำกัดให้คอลัมน์ Email ต้องไม่ซ้ำกัน (UNIQUE constraint)
ALTER TABLE Employees
ADD CONSTRAINT unique_email UNIQUE (Email);คำสั่งนี้จะเพิ่มข้อจำกัดให้กับคอลัมน์ Email ว่าข้อมูลในคอลัมน์นี้จะต้องไม่ซ้ำกันในแต่ละแถว โดยการเพิ่มข้อจำกัดแบบ UNIQUE

การใช้คำสั่ง ALTER TABLE เพื่อลบคอลัมน์
เราสามารถใช้คำสั่ง ALTER TABLE เพื่อลบคอลัมน์ในตารางได้ ดังนี้
-- ลบคอลัมน์ BirthDate ออกจากตาราง Employees
ALTER TABLE Employees
DROP COLUMN BirthDate;คำสั่งนี้จะลบคอลัมน์ BirthDate ออกจากตาราง Employees

