Danh sách Tutorial

[PostgreSQL] Chỉnh sửa bảng CSDL (Alter Table)


Để thay đổi các thuộc tính của table trong PostgreSQL chúng ta sử dụng SQL Command là: ALTER TABLE

Syntax:

ALTER TABLE [ ONLY ] name [ * ]
action [, ... ]

Một số action chỉnh sửa bảng CSDL

Thay đổi tên của Table

ALTER TABLE name
RENAME TO new_name

Thay đổi schema của Table

ALTER TABLE name
SET SCHEMA new_schema

Thay đổi tên column của Table:

ALTER TABLE [ ONLY ] name [ * ]
RENAME [ COLUMN ] column TO new_column

Thêm column mới cho Table:

ALTER TABLE table_name ADD COLUMN new_column_name TYPE;

Xóa column của Table:

ALTER TABLE table_name DROP COLUMN column_name;

Danh sách đầy đủ các action:

ADD [ COLUMN ] column data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
DROP [ COLUMN ] [ IF EXISTS ] column [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
ALTER [ COLUMN ] column SET DEFAULT expression
ALTER [ COLUMN ] column DROP DEFAULT
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER [ COLUMN ] column SET STATISTICS integer
ALTER [ COLUMN ] column SET ( attribute_option = value [, ... ] )
ALTER [ COLUMN ] column RESET ( attribute_option [, ... ] )
ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD table_constraint [ NOT VALID ]
ADD table_constraint_using_index
VALIDATE CONSTRAINT constraint_name
DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ]
DISABLE TRIGGER [ trigger_name | ALL | USER ]
ENABLE TRIGGER [ trigger_name | ALL | USER ]
ENABLE REPLICA TRIGGER trigger_name
ENABLE ALWAYS TRIGGER trigger_name
DISABLE RULE rewrite_rule_name
ENABLE RULE rewrite_rule_name
ENABLE REPLICA RULE rewrite_rule_name
ENABLE ALWAYS RULE rewrite_rule_name
CLUSTER ON index_name
SET WITHOUT CLUSTER
SET WITH OIDS
SET WITHOUT OIDS
SET ( storage_parameter = value [, ... ] )
RESET ( storage_parameter [, ... ] )
INHERIT parent_table
NO INHERIT parent_table
OF type_name
NOT OF
OWNER TO new_owner
SET TABLESPACE new_tablespace

Một số ví dụ chỉnh sửa bảng CSDL (Alter Tables)

Chúng ta có bảng groups có cấu trúc hiện tại như sau:

Thêm column vào bảng

Thêm column có tên là “description” với kiểu dữ liệu là “text

ALTER TABLE public.groups ADD COLUMN description text;

Kết quả:

Khác với MySQL, PostgreSQL không thể chỉ định vị trí khi thêm column vào 1 bảng. Cột sẽ được thêm vào vị trí cuối cùng của 1 bảng, để thay đổi vị trí của column mới thì bắt buộc các bạn phải tạo lại bảng CSDL.

Đổi tên bảng

Đổi tên bảng từ groups => new_groups

ALTER TABLE public.groups RENAME TO new_groups;

Kết quả:

SHARE

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web