Unique trong sql là gì

Tại các bài bác trước chúng ta đã tò mò buộc ràng primary key với foreign key rồi, vậy thì trong bài xích này mình sẽ giới thiệu thêm một ràng buộc quan trọng đặc biệt trong SQL dùng để làm xử lý vụ việc bảo toàn buộc ràng toàn diện tài liệu sẽ là UNIQUE.

Bạn đang xem: Unique trong sql là gì

1. UNIQUE trong Squốc lộ Server

Ở bài học kinh nghiệm tạo thành bảng Create Tablebản thân tất cả reviews sơ qua về một vài ba buộc ràng này rồi, tuy nhiên bài này bọn họ đã học kỹ hơn nhé.

UNIQUE là buộc ràng trên quý hiếm độc nhất trên column, Tức là các dòng dữ liệu ko được có mức giá trị trùng nhau nghỉ ngơi column kia. Ràng buộc này y hệt như khóa thiết yếu vậy, bởi vì thực chất nó cũng là 1 trong những khóa.

lấy ví dụ vào bảng SINHVIEN sẽ có được MASINHVIEN là khóa bao gồm, cùng cột CMND đã là UNIQUE. Thực ra chúng ta cũng có thể mang CMND là khoa bao gồm tuy nhiên điều này sẽ không còn tuyệt lắm.

Chúng ta tất cả nhì bí quyết chế tạo UNIQUE nhỏng sau:

Thiết lập ngay lập tức column

Cách này các bạn sẽ đặt từ khóa UNIQUE nghỉ ngơi cuối column mong mỏi nó có giá trị ko đụng hàng.


CREATE TABLE hr.persons( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, gmail VARCHAR(255) UNIQUE);

Column gmail là UNIQUE.

Thiết lập sinh sống cuối các column

Trường vừa lòng này bạn đặt UNIQUE (column_list) ở cuối lệnh Create Table, nếu có nhiều column thì giải pháp nhau bởi vì vết phẩy.


CREATE TABLE hr.persons( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255), UNIQUE(email));

SQL Server đang tự động hóa tạo nên một INDEX UNIQUE với chạy nó từng khi chúng ta triển khai thao tác INSERT hoặc UPDATE, nếu như bạn cập nhật tài liệu bị trùng thì nó đã thông tin lỗi.

Hãy thử chạy nhì câu lệnh INSERT sau đây để xem gồm đúng không nhé.


Lệnh 1
INSERT INTO hr.persons(first_name, last_name)VALUES("John","Smith");

Lệnh 1 này chuyển động thông thường.


Lệnh 2
INSERT INTO hr.persons(first_name, last_name, email)VALUES("Jane","Doe","j.doe
bike.stores");

Lệnh 2 có khả năng sẽ bị báo lỗi bởi vì cột tin nhắn bị trùng.


Violation of UNIQUE KEY constraint "UQ__persons__AB6E616417240E4E". Cannot insert duplicate key in object "hr.persons". The duplicate key value is(j.doe
xe đạp.stores).

Xem thêm: Ngành Công Nghệ Sinh Học Là Gì Gồm Những Lĩnh Vực Nào ? Khái Niệm Công Nghệ Sinh Học


Đặt tên cho UNIQUE

Cái tênUQ__persons__AB6E616417240E4Elà do SQL Server từ bỏ sinh ra vì các bạn ko viết tên mang đến UNIQUE, nếu như bạn có nhu cầu viết tên thì hãy áp dụng tự khóaCONSTRAINT.


CREATE TABLE hr.persons ( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, tin nhắn VARCHAR(255), CONSTRAINT unique_gmail UNIQUE(email));

Tại sao chúng ta cần đặt tên? Nlỗi chúng ta thấy Lúc nhận ra thông báo lỗi thì ta vẫn thuận tiện biết được vì chưng đâu, máy nhị nữa các bạn dễ dàng đổi khác Khi áp dụng kết hợp với lệnh ALTER TABLE.

2. Phân biệt Primary Key cùng với UNIQUE

Bạn đề xuất biệt lập rõ nhị ràng buộc này nhé.

Primary Key là khóa thiết yếu của bảng, đó là index quan trọng đề xuất chúng ta không đồng ý quý giá NULLUNIQUE cũng là 1 khóa tuy thế bởi là 1 trong những column bình thường yêu cầu có thể dìm giá trị NULL.

NULL cũng là 1 quý giá thông thường nên những khi có 2 record phần lớn NULL thì vẫn bị lỗiduplicate value nhé.

3. Tạo UNIQUE đến những column

Để chế tác UNIQUE mang lại những column thì bạn đề xuất thực hiện phương pháp sản phẩm nhì kia làthiết lập ngơi nghỉ cuối những column, cú pháp nlỗi sau:


CREATE TABLE table_name ( key_column data_type PRIMARY KEY, column1 data_type, column2 data_type, column3 data_type, ..., UNIQUE (column1,column2));

lấy một ví dụ dưới đây sản xuất UNIQUE cho nhì columnperson_id vàskill_id.


CREATE TABLE hr.person_skills ( id INT IDENTITY PRIMARY KEY, person_id int, skill_id int, updated_at DATETIME, UNIQUE (person_id, skill_id));

4. Thêm UNIQUE bởi lệnh ALTER TABLE

lúc bạn sẽ tạo thành kết thúc table rồi tuy nhiên sau đó ý muốn bổ sung cập nhật UNIQUE cho một field làm sao kia thì hãy áp dụng lệnh ALTER TABLE, cú pháp như sau:


ALTER TABLE table_nameShowroom CONSTRAINT constraint_name UNIQUE(column1, column2,...);

Ví dụ: Giả sử ta có table nlỗi sau.


CREATE TABLE hr.persons ( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255), phone VARCHAR(20),);

Bây giờ bản thân vẫn bổ sung cập nhật UNIQUE đến hai column email và phone.


ALTER TABLE hr.personsĐịa Chỉ CONSTRAINT unique_tin nhắn UNIQUE(email);ALTER TABLE hr.personsĐịa chỉ cửa hàng CONSTRAINT unique_phone UNIQUE(phone);

5. Xóa UNIQUE

UNIQUE cũng là 1 trong constraint cần các bạn hoàn toàn có thể áp dụng lệnhDROP CONSTRAINT nhằm xóa.


ALTER TABLE table_nameDROP. CONSTRAINT constraint_name;

Ví dụ: Xóa unique có tên làunique_phone ra khỏi bảnghr.persons.

Xem thêm: Túc Từ Trong Tiếng Anh Là Gì, Túc Từ (Tân Ngữ) Trong Tiếng Anh


ALTER TABLE hr.personsDROPhường. CONSTRAINT unique_phone;
Bài sau Bài tiếp
Tải Thêm Comment

DANH SÁCH BÀI HỌC


Getting started Data Definition Data Queries Condition & Operators Explored
Danh sách chủ đề
MÃ GIẢM GIÁ
Unica 50% Lấy Mã
TinoHost 30% Lấy Mã
INET 30% Lấy Mã

Liên hệ


Mã bớt giá


Khóa học


Giới thiệu


Admin Cường, cai quản thiết yếu của trang web.

2020 - evolutsionataizmama.com. All Right Reserved Theme GoodNews, gốc rễ Codeigniter, VPS cài tại Tinohost
*


BÀI VIẾT


Nếu các bạn phát hiện nay lỗi không nên liên kết, văn bản sai, hay một lỗi bất kể như thế nào đó bên trên trang này thì hãy cho bạn biết nhé. Cám ơn bạn!


Chuyên mục: ĐÀO TẠO