PostgreSQL ALTER Table: ADD Column, Rename Column / Table Ví dụ

Mục lục:

Anonim

Lệnh ALTER TABLE được sử dụng để thay đổi cấu trúc của bảng PostgreSQL. Đây là lệnh được sử dụng để thay đổi các cột của bảng hoặc tên của bảng.

Trong hướng dẫn này, bạn sẽ học:

  • Cú pháp
  • Sự miêu tả
  • Sửa đổi một cột
    • Thêm một cột mới
    • Đổi tên cột bảng
  • Đặt giá trị mặc định cho cột
  • Thêm Ràng buộc Kiểm tra
  • Đổi tên bảng
  • Sử dụng pgAdmin

Cú pháp

Đây là cú pháp cho lệnh PostgreSQL ALTER TABLE:

ALTER TABLE table-name action;

Tham số tên bảng là tên của bảng mà bạn cần thay đổi.

Tham số hành động là hành động mà bạn cần thực hiện, chẳng hạn như thay đổi tên của cột, thay đổi kiểu dữ liệu của cột, v.v.

Sự miêu tả

Lệnh ALTER TABLE thay đổi định nghĩa của một bảng hiện có. Nó có các biểu mẫu con sau:

  • ADD COLUMN : lệnh này sử dụng cú pháp tương tự như lệnh CREATE TABLE để thêm cột mới vào bảng.
  • DROP COLUMN : để giảm một cột trong bảng. Các ràng buộc và chỉ mục áp đặt lên các cột cũng sẽ bị loại bỏ.
  • SET / DROP DEFAULT : Sử dụng để xóa giá trị mặc định cho một cột. Tuy nhiên, thay đổi sẽ chỉ áp dụng cho các câu lệnh INSERT tiếp theo.
  • SET / DROP NOT NULL : Thay đổi liệu một cột có cho phép rỗng hay không.
  • ĐẶT THỐNG KÊ: Để đặt mục tiêu thu thập thống kê cho mỗi cột cho các hoạt động PHÂN TÍCH.
  • ĐẶT LƯU TRỮ : Để thiết lập chế độ lưu trữ cho một cột. Điều này sẽ xác định vị trí cột được giữ, nội tuyến hay trong bảng bổ sung.
  • SET NOT OIDS : Sử dụng để xóa cột cũ của bảng.
  • RENAME : để thay đổi tên bảng hoặc tên cột.
  • ADD table_constraint : Sử dụng để thêm một ràng buộc mới vào bảng Nó sử dụng cú pháp tương tự như lệnh CREATE TABLE.
  • DROP CONSTRAINT : Sử dụng để loại bỏ một ràng buộc bảng.
  • CHỦ SỞ HỮU : để thay đổi chủ sở hữu của bảng, trình tự, chỉ mục hoặc chế độ xem thành một người dùng nhất định.
  • CLUSTER : để đánh dấu một bảng được sử dụng để thực hiện các hoạt động cụm trong tương lai.

Sửa đổi một cột

Một cột có thể được sửa đổi theo một số cách. Những sửa đổi như vậy có thể được thực hiện bằng lệnh ALTER TABLE. Hãy để chúng tôi thảo luận về những điều này:

Thêm một cột mới

Để thêm một cột mới vào bảng PostgreSQL, lệnh ALTER TABLE được sử dụng với cú pháp sau:

ALTER TABLE table-nameADD new-column-name column-definition;

Tên bảng là tên của bảng được sửa đổi.

Tên-cột-mới là tên của cột mới sẽ được thêm vào.

Định nghĩa cột là kiểu dữ liệu của cột mới.

Xem bảng Sách được hiển thị bên dưới:

Bảng có hai cột, id và tên. Chúng ta cần thêm một cột mới vào bảng và đặt tên tác giả cho nó. Chỉ cần chạy lệnh sau:

ALTER TABLE BookADD author VARCHAR(50);

Sau khi chạy lệnh trên, bảng Sách bây giờ như sau:

Cột mới đã được thêm thành công.

Đổi tên cột 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-nameRENAME COLUMN old-name TO new-name;

Tên bảng là tên của bảng có cột sẽ được đổi tên.

Tên cũ là tên cũ / hiện tại của cột.

Tên mới là tên mới của cột. Hãy xem xét bảng Sách được hiển thị bên dưới:

Sách:

Chúng tôi cần tên của tác giả cột thành book_author. Đây là lệnh:

ALTER TABLE BookRENAME 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 tôi có thể đặt giá trị mặc định cho một cột sao cho 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 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 sẽ được sửa đổi.

Tên cột là tên có giá trị mặc định sẽ được đặt.

Giá trị là giá trị mặc định cho cột.

Hãy xem xét bảng Sách được đưa ra 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 hãy 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 tôi chỉ chèn giá trị cho hai cột, id và tên. 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 việc 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;

Tên bảng là tên của bảng được thay đổi.

Biểu thức là ràng buộc được áp đặt trên cột bảng.

Hãy để chúng tôi sửa đổi cột book_author của bảng Sách để 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 hãy thử chèn một giá trị không phải là Nicholas hoặc Samuel vào cột book_author của bảng Sách:

INSERT INTO BookVALUES(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 giới hạn kiểm tra.

Đổi tên bảng

Đây là cú pháp của lệnh ALTER TABLE để đổi tên bảng:

ALTER TABLE table-nameRENAME TO new-table-name;

Tên bảng là tên hiện tại của bảng.

Tên-bảng-mới là tên mới được gán cho bảng.

Ví dụ: chúng ta hãy đổi tên của bảng Sách thành Sách:

ALTER TABLE BookRENAME TO Books;

Sử dụng pgAdmin

Bây giờ chúng ta hãy xem làm thế nào những hành động này có thể được thực hiện bằng cách sử dụng pgAdmin.

Thêm một cột mới

Để thực hiện điều tương tự thông qua pgAdmin, hãy làm như sau:

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa truy vấn:

ALTER TABLE BookADD author VARCHAR(50);

Bước 4) Nhấp vào nút Thực thi.

Bước 5) Để kiểm tra xem cột đã được thêm hay chưa, hãy làm như sau:

  1. Nhấp vào Cơ sở dữ liệu từ điều hướng bên trái.
  2. Mở rộng Demo.
  3. Mở rộng các lược đồ.
  4. Mở rộng Công khai.
  5. Mở rộng bảng.
  6. Mở rộng sách.
  7. Mở rộng các cột.

Cột lẽ ra phải được thêm vào, như hình dưới đây:

Đổi tên cột bảng

Để thực hiện điều tương tự thông qua pgAdmin, hãy làm như sau:

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa truy vấn:

ALTER TABLE BookRENAME COLUMN author TO book_author;

Bước 4) Nhấp vào nút Thực thi.

Bước 5) Để kiểm tra xem thay đổi có thành công hay không, hãy làm như sau:

  1. Nhấp vào Cơ sở dữ liệu từ điều hướng bên trái.
  2. Mở rộng Demo.
  3. Mở rộng các lược đồ.
  4. Mở rộng Công khai.
  5. Mở rộng bảng.
  6. Mở rộng sách.
  7. Mở rộng các cột.

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

Để thực hiện điều tương tự thông qua pgAdmin, hãy làm như sau:

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa 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 thi.

Bước 5) Để kiểm tra, hãy chạy lệnh sau trên trình chỉnh sửa 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

Để thực hiện điều tương tự thông qua pgAdmin, hãy làm như sau:

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa truy vấn:

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

Bước 4) Nhấp vào nút Thực thi.

Bước 5) Để kiểm tra điều này, hãy làm như sau:

  1. Nhập truy vấn sau vào trình chỉnh sửa truy vấn:
    INSERT INTO BookVALUES(7, 'Best PostgreSQL Book', 'Gregory Bush');
  2. Nhấp vào nút Thực thi.

    Nó sẽ trả về như sau:

Đổi tên bảng

Để thực hiện điều tương tự thông qua pgAdmin, hãy làm như sau:

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa truy vấn:

ALTER TABLE BookRENAME TO Books;

Bước 4) Nhấp vào nút Thực thi.

Bước 5) Để kiểm tra xem bảng đã được đổi tên hay chưa, hãy làm như sau:

  1. Nhấp vào Cơ sở dữ liệu từ điều hướng bên trái.
  2. Mở rộng Demo.
  3. Mở rộng các lược đồ.
  4. Mở rộng Công khai.
  5. Mở rộng bảng.

Bảng đã được đổi tên thành công.

Tóm lược:

  • Câu lệnh ALTER TABLE được sử dụng để sửa đổi cấu trúc của bảng.
  • Lệnh ALTER TABLE có nhiều dạng khác nhau tùy thuộc vào nhiệm vụ mà bạn cần thực hiện.
  • Cấu trúc có thể là các cột của bảng hoặc chính bảng.
  • Chúng ta có thể sử dụng câu lệnh này để thay đổi tên của một bảng.
  • Lệnh ALTER TABLE có thể được sử dụng để đặt giá trị mặc định của một cột.
  • Câu lệnh có thể được sử dụng để xác nhận các giá trị được nhập vào một cột của bảng.

Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này