Khóa Duy Nhất(Unique Key) Trong SQL

Khóa duy nhất(Unique Key) trong SQL

Khóa duy nhất là một tập hợp của một hoặc nhiều trường / cột của bảng xác định duy nhất một bản ghi trong bảng cơ sở dữ liệu.

Bạn có thể nói rằng nó giống như khóa chính nhưng nó chỉ có thể chấp nhận một giá trị null và nó không thể có các giá trị trùng lặp.

Cả khóa duy nhất và khóa chính đều đảm bảo tính duy nhất cho một cột hoặc một tập hợp các cột.

Có một ràng buộc khóa duy nhất được xác định tự động trong một ràng buộc khóa chính.

Có thể có nhiều ràng buộc khóa duy nhất cho một bảng, nhưng chỉ có một ràng buộc khóa chính cho một bảng.

Dùng câu lệnh SQL để tạo ràng buộc Unique key

Nếu bạn muốn tạo một ràng buộc UNIQUE KEY trên cột "S_Id" khi bảng "STUDENTS" được tạo, hãy sử dụng cú pháp SQL sau:

SQL Server / Oracle / MS Access:

CREATE TABLE students   (   S_Id int NOT NULL UNIQUE,   LastName varchar (255) NOT NULL,   FirstName varchar (255),   City varchar (255)   )  

MySQL:

CREATE TABLE students   CREATE TABLE students   (   S_Id int NOT NULL,   LastName varchar (255) NOT NULL,   FirstName varchar (255),   City varchar (255),   UNIQUE (S_Id)   )  

MySQL / SQL Server / Oracle / MS Access:

 CREATE TABLE students   (   S_Id int NOT NULL,   LastName varchar (255) NOT NULL,   FirstName varchar (255),   City varchar (255),   CONSTRAINT uc_studentId UNIQUE (S_Id, LastName)   )  

Sử dụng câu lệnh ALTER TABLE để tạo UNIQUE KEY

Nếu bạn muốn tạo một ràng buộc duy nhất trên cột "S_Id" khi bảng đã được tạo, bạn nên sử dụng cú pháp SQL sau:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE students   ADD UNIQUE (S_Id)  

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE students   ADD CONSTRAINT uc_StudentId UNIQUE  (S_Id, LastName)  

Xóa ràng buộc khóa UNIQUE KEY

Nếu bạn muốn loại bỏ một ràng buộc UNIQUE KEY, hãy sử dụng cú pháp SQL sau:

MySQL:

ALTER TABLE students   DROP INDEX uc_studentID  

SQL Server / Oracle / MS Access:

ALTER TABLE students   DROP CONSTRAINT uc_studentID  

Từ khóa » Khóa Sql