Một PRIMARY KEY là một trường trong một bảng mà nhận diện một cách duy nhất mỗi hàng/bản ghi trong một bảng dữ liệu. Các PRIMARY KEY phải chứa các giá trị duy nhất. Một cột là PRIMARY KEY không có giá trị NULL.

Một bảng có thể chỉ có một PRIMARY KEY, mà gồm một trường đơn hay nhiều trường. Khi nhiều trường được sử dụng như là một PRIMARY KEY, chúng được gọi là một Composite Key.

Nếu một bảng có một PRIMARY KEY được định nghĩa trên bất kỳ trường nào, thì bạn không thể có hai bản ghi mà có cùng giá trị trong các trường đó.

Ghi chú: Bạn sẽ sử dụng các khái niệm này trong khi tạo các bảng dữ liệu trong Database.

Tạo PRIMARY KEY trong SQL

Dưới đây là cú pháp để định nghĩa thuộc tính ID như là một PRIMARY KEY trong bảng SINHVIEN.

CREATE TABLE SINHVIEN(
       ID   INT              NOT NULL,
       TEN VARCHAR (20)     NOT NULL,
       TUOI  INT              NOT NULL,
       KHOAHOC  CHAR (25) ,
       HOCPHI   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
);

Để tạo một ràng buộc PRIMARY KEY trên cột ID khi bảng này đã tồn tại, sử dụng cú pháp SQL sau:

ALTER TABLE CUSTOMER ADD PRIMARY KEY (ID);

GHI CHÚ: Nếu bạn sử dụng lệnh ALTER TABLE để thêm một PRIMARY KEY, thì cột với PRIMARY KEY phải đã được khai báo để không chứa các giá trị NULL (khi bảng được tạo lần đầu tiên).

Để định nghĩa một ràng buộc PRIMARY KEY trên nhiều cột, bạn sử dụng cú pháp SQL sau:

CREATE TABLE SINHVIEN(
       ID   INT              NOT NULL,
       TEN VARCHAR (20)     NOT NULL,
       TUOI  INT              NOT NULL,
       KHOAHOC  CHAR (25) ,
       HOCPHI   DECIMAL (18, 2),        
       PRIMARY KEY (ID, TEN)
);

Để tạo một ràng buộc PRIMARY KEY trên các cột ID và TEN khi bảng này đã tồn tại, bạn sử dụng cú pháp SQL sau:

ALTER TABLE SINHVIEN 
   ADD CONSTRAINT PK_SVID PRIMARY KEY (ID, TEN);

Xóa ràng buộc PRIMARY KEY trong SQL

Bạn có thể xóa các ràng buộc PRIMARY KEY từ một bảng bởi sử dụng cú pháp sau:

ALTER TABLE SINHVIEN DROP PRIMARY KEY ;



Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Learning English Everyday