Cú pháp SQL PRIMARY KEY Constraint

PRIMARY KEY constraint (ràng buộc khóa chính) trong SQL là một loại UNIQUE constraint (ràng buộc duy nhất) đặc biệt, đảm bảo rằng:

  • Tất cả các giá trị trong cột hoặc tập hợp các cột được xác định là khóa chính đều là duy nhất (UNIQUE).
  • Không có giá trị NULL được phép trong các cột khóa chính (NOT NULL).

primary key

Cú pháp:

  1. Khi tạo bảng:
CREATE TABLE table_name (
  column1 data_type PRIMARY KEY,
  column2 data_type,
  ...,
  CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...)
);
  1. Khi thay đổi bảng:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...);

Giải thích:

  • table_name: Tên của bảng.
  • column1, column2, …: Tên các cột được xác định là khóa chính.
  • constraint_name: Tên cho ràng buộc (tùy chọn).

Ví dụ:

--Tạo bảng Orders với khóa chính trên cột OrderID:
CREATE TABLE Orders (
  OrderID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  CustomerID int NOT NULL,
  OrderDate date NOT NULL,
  ...,
  FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

--Thêm khóa chính trên các cột FirstName và LastName trong bảng Users:
ALTER TABLE Users
ADD CONSTRAINT unique_username PRIMARY KEY (FirstName, LastName);
  1. Xoá Primary key:
ALTER TABLE Persons
DROP PRIMARY KEY;

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

Lưu ý:

  • Mỗi bảng chỉ có thể có một PRIMARY KEY constraint.
  • Các cột được xác định là khóa chính thường được chọn làm dữ liệu tham chiếu (referenced data) cho các FOREIGN KEY constraint (ràng buộc khóa ngoại) trong các bảng khác.
  • PRIMARY KEY constraint đóng vai trò quan trọng trong việc xác định duy nhất từng bản ghi trong bảng và duy trì tính toàn vẹn dữ liệu giữa các bảng liên quan.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận