PostgreSQL ALTER COLUMN
Trong PostgreSQL, lệnh ALTER COLUMN được sử dụng để thay đổi cấu trúc của một cột trong bảng. Các thay đổi có thể bao gồm việc thay đổi kiểu dữ liệu, đổi tên cột, thêm hoặc xóa ràng buộc, và nhiều hơn nữa.
Định nghĩa
Lệnh ALTER COLUMN cho phép bạn điều chỉnh các thuộc tính của cột hiện có. Đây là một phần của lệnh ALTER TABLE, cho phép bạn thay đổi bảng hiện tại.
Cú pháp
Cú pháp cơ bản để sử dụng ALTER COLUMN như sau:
ALTER TABLE table_name ALTER COLUMN column_name action;
Trong đó, action có thể là:
- SET DATA TYPE: Thay đổi kiểu dữ liệu của cột.
- SET DEFAULT: Đặt giá trị mặc định cho cột.
- DROP DEFAULT: Xóa giá trị mặc định của cột.
- RENAME TO: Đổi tên cột.
- SET NOT NULL: Thêm ràng buộc không cho phép giá trị NULL vào cột.
- DROP NOT NULL: Xóa ràng buộc không cho phép giá trị NULL.
Ví dụ
Dưới đây là một số ví dụ minh họa cho việc sử dụng ALTER COLUMN trong PostgreSQL.
Ví dụ 1: Thay đổi kiểu dữ liệu của cột
ALTER TABLE employees ALTER COLUMN salary SET DATA TYPE numeric(10, 2);
Ví dụ này thay đổi kiểu dữ liệu của cột salary thành numeric(10, 2), cho phép lưu trữ số với tối đa 10 chữ số và 2 chữ số thập phân.
Ví dụ 2: Đổi tên cột
ALTER TABLE employees ALTER COLUMN last_name RENAME TO surname;
Ví dụ này đổi tên cột last_name thành surname.
Ví dụ 3: Thêm giá trị mặc định cho cột
ALTER TABLE employees ALTER COLUMN department SET DEFAULT 'Sales';
Ví dụ này thiết lập giá trị mặc định cho cột department là Sales.
Ví dụ 4: Thêm ràng buộc NOT NULL
ALTER TABLE employees ALTER COLUMN email SET NOT NULL;
Ví dụ này thêm ràng buộc không cho phép cột email chứa giá trị NULL.
Ví dụ 5: Xóa ràng buộc NOT NULL
ALTER TABLE employees ALTER COLUMN email DROP NOT NULL;
Ví dụ này xóa ràng buộc không cho phép giá trị NULL đối với cột email.
Kết luận
Lệnh ALTER COLUMN trong PostgreSQL là một công cụ mạnh mẽ cho phép các lập trình viên và quản trị viên cơ sở dữ liệu thay đổi cấu trúc của cột trong bảng một cách linh hoạt. Bằng cách sử dụng cú pháp phù hợp, bạn có thể dễ dàng điều chỉnh các thuộc tính của cột để đáp ứng nhu cầu của ứng dụng và dữ liệu trong hệ thống của bạn.