Từ khoá CHÍNH CỦA SQL
KHÓA CHÍNH
Ràng buộc xác định duy nhất mỗi bản PRIMARY KEY
ghi trong một bảng.
Một bảng chỉ có thể có một khóa chính, có thể bao gồm một hoặc nhiều trường.
KHÓA CHÍNH SQL trên TẠO BẢNG
SQL sau tạo một KHÓA CHÍNH trên cột "ID" khi bảng "Người" được tạo:
MySQL:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
Để cho phép đặt tên cho ràng buộc KHÓA CHÍNH và để xác định ràng buộc KHÓA CHÍNH trên nhiều cột, hãy sử dụng cú pháp SQL sau:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);
Lưu ý: Trong ví dụ trên chỉ có MỘT KHÓA CHÍNH (PK_Person). Tuy nhiên, GIÁ TRỊ của khóa chính được tạo thành từ HAI CỘT (ID + LastName).
KHÓA CHÍNH CỦA SQL trên ALTER TABLE
Để tạo ràng buộc CHÍNH CHÍNH trên cột "ID" khi bảng đã được tạo, hãy sử dụng SQL sau:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
Để cho phép đặt tên cho ràng buộc KHÓA CHÍNH và để xác định ràng buộc KHÓA CHÍNH trên nhiều cột, hãy sử dụng cú pháp SQL sau:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
Lưu ý: Nếu bạn sử dụng câu lệnh ALTER TABLE để thêm khóa chính, (các) cột khóa chính phải được khai báo không chứa giá trị NULL (khi bảng được tạo lần đầu tiên).
BỎ QUA Ràng buộc CHÍNH CHÍNH
Để bỏ một ràng buộc CHÍNH CHÍNH, hãy sử dụng SQL sau:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;