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).
Cú pháp:
- Khi tạo bảng:
CREATE TABLE table_name ( column1 data_type PRIMARY KEY, column2 data_type, ..., CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...) );
- 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);
- 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.