SQL - Lệnh ALTER TABLE

SQL ALTER TABLElệnh được sử dụng để thêm, xóa hoặc sửa đổi các cột trong 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 bảng hiện có.

Cú pháp

Cú pháp cơ bản của lệnh ALTER TABLE để thêm New Column 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 bảng như sau.

ALTER TABLE table_name MODIFY COLUMN column_name datatype;

Cú pháp cơ bản của lệnh ALTER TABLE để thêm NOT NULL ràng buộc đối với một cột trong 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ành ADD UNIQUE CONSTRAINT thành 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 để ADD CHECK CONSTRAINT thành 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 để ADD PRIMARY KEY ràng buộc đối với 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ã như sau:

ALTER TABLE table_name 
DROP INDEX MyUniqueConstraint;

Cú pháp cơ bản của lệnh ALTER TABLE để DROP PRIMARY KEY ràng buộc từ một bảng như sau.

ALTER TABLE table_name 
DROP CONSTRAINT MyPrimaryKey;

Nếu bạn đang sử dụng MySQL, mã như sau:

ALTER TABLE table_name 
DROP PRIMARY KEY;

Thí dụ

Hãy xem xét bảng KHÁCH HÀNG có các bản ghi sau:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

Sau đây là ví dụ để THÊM một New Column 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à phần sau sẽ được xuất ra từ câu lệnh SELECT.

+----+---------+-----+-----------+----------+------+
| ID | NAME    | AGE | ADDRESS   | SALARY   | SEX  |
+----+---------+-----+-----------+----------+------+
|  1 | Ramesh  |  32 | Ahmedabad |  2000.00 | NULL |
|  2 | Ramesh  |  25 | Delhi     |  1500.00 | NULL |
|  3 | kaushik |  23 | Kota      |  2000.00 | NULL |
|  4 | kaushik |  25 | Mumbai    |  6500.00 | NULL |
|  5 | Hardik  |  27 | Bhopal    |  8500.00 | NULL |
|  6 | Komal   |  22 | MP        |  4500.00 | NULL |
|  7 | Muffy   |  24 | Indore    | 10000.00 | NULL |
+----+---------+-----+-----------+----------+------+

Sau đây là ví dụ để XÓA cột giới tính khỏi bảng hiện có.

ALTER TABLE CUSTOMERS DROP SEX;

Bây giờ, bảng CUSTOMERS đã được thay đổi và sau đây sẽ là kết quả từ câu lệnh SELECT.

+----+---------+-----+-----------+----------+
| ID | NAME    | AGE | ADDRESS   | SALARY   |
+----+---------+-----+-----------+----------+
|  1 | Ramesh  |  32 | Ahmedabad |  2000.00 |
|  2 | Ramesh  |  25 | Delhi     |  1500.00 |
|  3 | kaushik |  23 | Kota      |  2000.00 |
|  4 | kaushik |  25 | Mumbai    |  6500.00 |
|  5 | Hardik  |  27 | Bhopal    |  8500.00 |
|  6 | Komal   |  22 | MP        |  4500.00 |
|  7 | Muffy   |  24 | Indore    | 10000.00 |
+----+---------+-----+-----------+----------+