PostgreSQL ALTER TABLE: Thêm & Đổi tên cột
⚡ Tóm tắt thông minh
PostgreSQL Lệnh ALTER TABLE thay đổi cấu trúc của một bảng hiện có, cho phép bạn thêm hoặc xóa cột, đổi tên cột hoặc toàn bộ bảng, đặt giá trị mặc định và gắn các ràng buộc kiểm tra mà không cần tạo lại đối tượng.

ALTER TABLE là gì? PostgreSQL?
BẢNG BẢNG Lệnh này được sử dụng để thay đổi cấu trúc của một PostgreSQL `table` là lệnh được sử dụng để thay đổi các cột của bảng hoặc tên của chính bảng đó, mà không cần xóa bảng.ping và tái tạo lại vật thể.
cú pháp
Đây là cú pháp cho PostgreSQL Lệnh ALTER TABLE:
ALTER TABLE table-name action;
Tham số `table-name` là tên của bảng mà bạn cần thay đổi. Tham số `action` là hành động mà bạn cần thực hiện, chẳng hạn như thay đổi tên cột hoặc thay đổi kiểu dữ liệu của cột.
Mô tả Chi tiết
Lệnh ALTER TABLE thay đổi định nghĩa của một bảng hiện có. Lệnh này sử dụng các biểu mẫu phụ sau:
- THÊM CỘTLệnh này sử dụng cú pháp tương tự như lệnh CREATE TABLE để thêm một cột mới vào bảng.
- CỘT THẢ: để thảping một cột trong bảng. Các ràng buộc và chỉ mục được áp đặt trên các cột cũng sẽ bị xóa.
- THIẾT LẬP/THẢ MẶC ĐỊNH: được sử dụng để thiết lập hoặc xóa giá trị mặc định cho một cột. Thay đổi chỉ áp dụng cho các lần cập nhật tiếp theo. câu lệnh INSERT.
- ĐẶT/THẢ KHÔNG NULLThay đổi việc một cột có cho phép giá trị null hay không.
- THỐNG KÊ TẬP HỢP: dùng để thiết lập mục tiêu thu thập số liệu thống kê cho từng cột trong các thao tác PHÂN TÍCH.
- ĐẶT BỘ LƯU TRỮ: dùng để thiết lập chế độ lưu trữ cho một cột, dù là lưu trữ trực tiếp hay trong bảng bổ sung.
- THIẾT LẬP KHÔNG CÓ OID: được sử dụng để xóa cột OID cũ của bảng.
- ĐỔI TÊN: để thay đổi tên bảng hoặc tên cột.
- THÊM bảng_ràng buộc: được sử dụng để thêm một ràng buộc mới vào bảng. Nó sử dụng cùng cú pháp với TẠO BẢNG chỉ huy.
- RÀNG BUỘC: dùng để thảping một ràng buộc bảng.
- SỞ HỮU: Dùng để thay đổi quyền sở hữu của bảng, chuỗi, chỉ mục hoặc khung nhìn cho một người dùng cụ thể.
- CụmDùng để đánh dấu một bảng sẽ được sử dụng cho các hoạt động cụm máy chủ trong tương lai.
Sửa đổi một cột
Một cột có thể được sửa đổi theo nhiều cách. Những sửa đổi này được thực hiện bằng lệnh ALTER TABLE. Chúng ta hãy cùng thảo luận về điều này bên dưới.
Thêm một cột mới
Để thêm một cột mới vào một PostgreSQL bảng, lệnh ALTER TABLE được sử dụng với cú pháp sau:
ALTER TABLE table-name ADD new-column-name column-definition;
Tên bảng là tên của bảng cần được sửa đổi. Tên cột mới là tên của cột mới cần được thêm vào. Định nghĩa cột là... loại dữ liệu của cột mới. Xem bảng Sách được hiển thị bên dưới:
Bảng hiện có hai cột, id và name. Chúng ta cần thêm một cột mới vào bảng và đặt tên là author. Chỉ cần chạy lệnh sau:
ALTER TABLE Book ADD author VARCHAR(50);
Sau khi chạy lệnh trên, bảng Book bây giờ có dạng như sau:
Cột mới đã được thêm thành công.
Đổi tên một cột trong bảng
Chúng ta có thể sử dụng lệnh ALTER TABLE để thay đổi tên của một cột. Trong trường hợp này, lệnh được sử dụng với cú pháp sau:
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
Tên bảng (table-name) là tên của bảng có cột cần được đổi tên. Tên cũ (old-name) là tên hiện tại của cột, và tên mới (new-name) là tên mới của cột. Hãy xem xét bảng Book được hiển thị bên dưới:
Sách:
Chúng ta cần đổi tên cột author thành book_author. Đây là lệnh:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Sau khi chạy lệnh, chúng ta có thể xem cấu trúc của bảng:
Tên cột đã được thay đổi thành công.
Đặt giá trị mặc định cho cột
Chúng ta có thể đặt giá trị mặc định cho một cột để ngay cả khi bạn không chỉ định giá trị cho cột đó trong các thao tác INSERT, giá trị mặc định vẫn sẽ được sử dụng. Trong trường hợp này, lệnh ALTER TABLE có thể được sử dụng với cú pháp sau:
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
Tên bảng là tên của bảng có cột cần được sửa đổi. Tên cột là tên của cột có giá trị mặc định cần được thiết lập, và giá trị là giá trị mặc định cho cột đó. Hãy xem xét bảng Book dưới đây:
Chúng ta cần đặt giá trị mặc định cho cột book_author. Chúng ta có thể chạy lệnh sau:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Bây giờ chúng ta chèn một hàng vào bảng:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners');
Lưu ý rằng chúng ta chỉ nhập giá trị cho hai cột, id và name. Tuy nhiên, giá trị mặc định đã được sử dụng cho cột book_author:
Thêm ràng buộc kiểm tra
Ràng buộc kiểm tra giúp xác thực các bản ghi đang được chèn vào bảng. Chúng ta có thể thực hiện điều này bằng cách kết hợp lệnh ALTER TABLE với câu lệnh ADD CHECK. Cú pháp:
ALTER TABLE table-name ADD CHECK expression;
table-name là tên của bảng cần được sửa đổi, và expression là ràng buộc cần áp đặt lên cột của bảng. Chúng ta hãy sửa đổi cột book_author của bảng Book sao cho nó chỉ chấp nhận các giá trị Nicholas và Samuel:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));
Bây giờ, chúng ta thử chèn một giá trị khác Nicholas hoặc Samuel vào cột book_author của bảng Book:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Câu lệnh sẽ trả về lỗi sau:
Thao tác chèn không thành công vì chúng tôi đã vi phạm ràng buộc kiểm tra.
Đổi tên một bảng
Đây là cú pháp của lệnh ALTER TABLE để đổi tên bảng:
ALTER TABLE table-name RENAME TO new-table-name;
table-name là tên hiện tại của bảng, còn new-table-name là tên mới sẽ được gán cho bảng. Ví dụ, chúng ta hãy đổi tên bảng Book thành Books:
ALTER TABLE Book RENAME TO Books;
Sử dụng pgAdmin
Cho đến nay, các thao tác đã được thực hiện từ trình shell SQL. Bây giờ, hãy xem cách thực hiện các thao tác tương tự một cách trực quan bằng pgAdmin.
Thêm một cột mới
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
ALTER TABLE Book ADD author VARCHAR(50);
Bước 4) Nhấp vào nút Thực hiện.
Bước 5) Để kiểm tra xem cột đã được thêm hay chưa, hãy thực hiện như sau:
- Nhấp vào Cơ sở dữ liệu từ điều hướng bên trái.
- Mở rộng Bản trình diễn.
- Mở rộng lược đồ.
- Mở rộng công khai.
- Mở rộng bảng.
- Mở rộng cuốn sách.
- Mở rộng cột.
Cột lẽ ra phải được thêm vào, như hiển thị bên dưới:
Đổi tên một cột trong bảng
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
ALTER TABLE Book RENAME COLUMN author TO book_author;
Bước 4) Nhấp vào nút Thực hiện.
Bước 5) Để kiểm tra xem thay đổi có thành công hay không, hãy mở rộng các cột của bảng sách như trước:
Các cột bây giờ sẽ như sau:
Cột đã được thay đổi thành công.
Đặt giá trị mặc định cho cột
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';
Bước 4) Nhấp vào nút Thực hiện.
Bước 5) Để kiểm tra, hãy chạy lệnh sau trong trình soạn thảo truy vấn:
INSERT INTO Book (id, name) VALUES (6, 'PostgreSQL for Beginners')
Bước 6) Bây giờ, chúng ta có thể truy vấn bảng để kiểm tra xem giá trị mặc định đã được chèn vào cột book_author hay chưa:
Thêm ràng buộc kiểm tra
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
Bước 4) Nhấp vào nút Thực hiện.
Bước 5) Để kiểm tra điều này, hãy nhập truy vấn sau vào trình soạn thảo truy vấn và nhấp vào nút Thực thi:
INSERT INTO Book VALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
Nó sẽ trả về kết quả sau:
Đổi tên một bảng
Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.
Bước 2)
- Từ thanh điều hướng ở bên trái, nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:
ALTER TABLE Book RENAME TO Books;
Bước 4) Nhấp vào nút Thực hiện.
Bước 5) Để kiểm tra xem bảng đã được đổi tên hay chưa, hãy mở rộng Databases > Demo > Schemas > Public > Tables:
Bảng đã được đổi tên thành công.
Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này

























