Lệnh ALTER TABLE trong SQL được sử dụng để thêm, xóa hoặc sửa đổi các cột trong một bảng hiện có. Bạn cũng nên sử dụng lệnh ALTER TABLE để thêm và bỏ các ràng buộc khác nhau trên một bảng hiện có.
Cú pháp
Cú pháp cơ bản của một lệnh ALTER TABLE trong SQL để thêm một cột mới trong một bảng hiện có như sau.
ALTER TABLE table_name ADD column_name datatype;
Cú pháp cơ bản của lệnh ALTER TABLE để DROP COLUMN trong một bảng hiện có như sau.
ALTER TABLE table_name DROP COLUMN column_name;
Cú pháp cơ bản của lệnh ALTER TABLE để thay đổi DATA TYPE của một cột trong một bảng như sau.
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
Cú pháp cơ bản của một lệnh ALTER TABLE để thêm một ràng buộc NOT NULL vào một cột trong một bảng như sau.
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
Cú pháp cơ bản của ALTER TABLE để thêm UNIQUE CONSTRAINT vào một bảng như sau.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
Cú pháp cơ bản của lệnh ALTER TABLE để thêm CHECK CONSTRAINT vào một bảng như sau.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
Cú pháp cơ bản của lệnh ALTER TABLE để thêm ràng buộc PRIMARY KEY vào một bảng như sau.
ALTER TABLE table_name ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
Cú pháp cơ bản của lệnh ALTER TABLE để DROP CONSTRAINT từ một bảng như sau.
ALTER TABLE table_name DROP CONSTRAINT MyUniqueConstraint;
Nếu bạn đang sử dụng MySQL, mã là như sau:
ALTER TABLE table_name DROP INDEX MyUniqueConstraint;
Cú pháp cơ bản của lệnh ALTER TABLE để DROP PRIMARY KEY từ một bảng như sau.
ALTER TABLE table_name DROP CONSTRAINT MyPrimaryKey;
Nếu bạn đang sử dụng MySQL, mã là như sau:
ALTER TABLE table_name DROP PRIMARY KEY;
Ví dụ
Hãy xem xét bảng CUSTOMERS có các bản ghi sau đây:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+
Sau đây là ví dụ để thêm một cột mới vào một bảng hiện có:
ALTER TABLE CUSTOMERS ADD SEX char(1);
Bây giờ, bảng CUSTOMERS đã được thay đổi và sau đây sẽ được xuất từ câu lệnh SELECT.
+----+----------+-----+-----------+----------+------+ | ID | NAME | AGE | ADDRESS | SALARY | SEX | +----+----------+-----+-----------+----------+------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | NULL | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | NULL | | 3 | Vu Bang | 23 | Vinh | 2000.00 | NULL | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | NULL | | 5 | Hai An | 27 | Ha Noi | 8500.00 | NULL | | 6 | Hoang | 22 | Ha Noi | 4500.00 | NULL | | 7 | Binh | 24 | Ha Noi | 10000.00 | NULL | +----+----------+-----+-----------+----------+------+
Dưới đây là ví dụ về cột Sex DROP từ bảng hiện có.
ALTER TABLE CUSTOMERS DROP SEX;
Bây giờ, bảng CUSTOMERS đã được thay đổi và sau đây sẽ là đầu ra từ câu lệnh SELECT.
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+