PostgreSQL - Lệnh ALTER TABLE

PostgreSQL ALTER TABLE lệ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 sẽ sử dụng lệnh ALTER TABLE để thêm và thả 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 ALTER TABLE để thêm một cột mới trong bảng hiện có như sau:

ALTER TABLE table_name ADD column_name datatype;

Cú pháp cơ bản của ALTER TABLE thành 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 ALTER TABLE để thay đổi DATA TYPE của một cột trong bảng như sau:

ALTER TABLE table_name ALTER COLUMN column_name TYPE datatype;

Cú pháp cơ bản của 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 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 ALTER TABLE thành ADD 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 ALTER TABLE thành 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 ALTER TABLE thành 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 ALTER TABLE thành 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 CÔNG TY của chúng tôi có các bản ghi sau:

id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000

Sau đây là ví dụ để THÊM một cột mới trong bảng hiện có:

testdb=# ALTER TABLE COMPANY ADD GENDER char(1);

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

id | name  | age | address     | salary | gender
----+-------+-----+-------------+--------+--------
  1 | Paul  |  32 | California  |  20000 |
  2 | Allen |  25 | Texas       |  15000 |
  3 | Teddy |  23 | Norway      |  20000 |
  4 | Mark  |  25 | Rich-Mond   |  65000 |
  5 | David |  27 | Texas       |  85000 |
  6 | Kim   |  22 | South-Hall  |  45000 |
  7 | James |  24 | Houston     |  10000 |
(7 rows)

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

testdb=# ALTER TABLE COMPANY DROP GENDER;

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

id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000