Ở những bài trước chúng ta đã khám phá ràng buộc primary key cùng foreign key rồi, vậy thì trong bài bác này bản thân sẽ giới thiệu thêm một ràng buộc đặc biệt quan trọng trong SQL dùng làm xử lý vấn đề bảo toàn ràng buộc toàn diện dữ liệu chính là UNIQUE.
Bạn đang xem: Unique là gì sql


1. Unique trong SQL Server
Ở bài học kinh nghiệm tạo bảng Create Tablemình có giới thiệu sơ qua về một vài ba ràng buộc này rồi, tuy vậy bài này bọn họ sẽ học kỹ rộng nhé.
UNIQUE là buộc ràng trên quý hiếm duy độc nhất vô nhị trên column, có nghĩa là các dòng tài liệu không được có mức giá trị trùng nhau sinh hoạt column đó. Buộc ràng này y hệt như khóa chủ yếu vậy, vì bản chất nó cũng là 1 trong những khóa.
Ví dụ vào bảng SINHVIEN sẽ có MASINHVIEN là khóa chính, với cột CMND đang là UNIQUE. Thực ra chúng ta có thể lấy CMND là khoa bao gồm nhưng như vậy sẽ không còn hay lắm.
Bài viết này được đăng trên
Chúng ta gồm hai cách tạo unique như sau:
Thiết lập ngay lập tức column
Cách này các bạn sẽ đặt tự khóa quality ở cuối column ao ước nó có mức giá trị không trùng lặp.
CREATE TABLE hr.persons( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, e-mail VARCHAR(255) UNIQUE);
Column thư điện tử là UNIQUE.
Thiết lập làm việc cuối những column
Trường hợp này chúng ta đặt chất lượng (column_list) sinh sống cuối lệnh Create Table, nếu có rất nhiều column thì cách nhau vì dấu 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 vps sẽ tự động hóa tạo ra một INDEX UNIQUE cùng chạy nó mỗi khi bạn thực hiện làm việc INSERT hoặc UPDATE, trường hợp bạn update dữ liệu bị trùng thì nó sẽ thông báo lỗi.
Hãy demo chạy nhị câu lệnh INSERT dưới đây để xem có đú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 bình thường.
Lệnh 2
INSERT INTO hr.persons(first_name, last_name, email)VALUES("Jane","Doe","j.doe
bike.stores");
Lệnh 2 sẽ bị báo lỗi do cột thư điện tử bị trùng.
Violation of quality KEY constraint "UQ__persons__AB6E616417240E4E". Cannot insert duplicate key in object "hr.persons". The duplicate key value is(j.doe
bike.stores).
Đặt tên đến UNIQUE
Cái tênUQ__persons__AB6E616417240E4Elà vị SQL hệ thống tự hình thành vì bạn không để tên cho UNIQUE, nếu bạn muốn đặt tên thì nên sử dụng từ bỏ khóaCONSTRAINT.
CREATE TABLE hr.persons ( person_id INT IDENTITY PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, thư điện tử VARCHAR(255), CONSTRAINT unique_email UNIQUE(email));
Tại sao họ cần để tên? Như chúng ta thấy khi dìm được thông báo lỗi thì ta sẽ thuận tiện biết được vì đâu, lắp thêm hai nữa bạn dễ dàng chuyển đổi khi áp dụng kết hợp với lệnh ALTER TABLE.
2. Khác nhau Primary Key với UNIQUE
Bạn nên phân biệt rõ nhị ràng buộc này nhé.
Primary Key là khóa chủ yếu của bảng, đấy là index đặc trưng nên các bạn không gật đầu giá trị NULLUNIQUE cũng là 1 trong khóa nhưng mà vì là 1 trong column thông thường nên hoàn toàn có thể nhận giá trị NULL.NULL cũng là một trong những giá trị thông thường nên khi gồm 2 record hồ hết NULL thì vẫn bị lỗiduplicate value nhé.
3. Tạo quality cho các column
Để tạo chất lượng cho những column thì bạn phải sử dụng cách lắp thêm hai kia làthiết lập sống cuối những column, cú pháp như sau:
CREATE TABLE table_name ( key_column data_type PRIMARY KEY, column1 data_type, column2 data_type, column3 data_type, ..., quality (column1,column2));
Ví dụ sau đây tạo chất lượng 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, quality (person_id, skill_id));
4. Thêm UNIQUE bởi lệnh ALTER TABLE
Khi các bạn đã tạo hoàn thành table rồi nhưng sau đó muốn bổ sung cập nhật UNIQUE cho một field như thế nào đó thì nên sử dụng lệnh ALTER TABLE, cú pháp như sau:
ALTER TABLE table_nameADD CONSTRAINT constraint_name UNIQUE(column1, column2,...);
Ví dụ: giả sử ta có table như 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ờ mình sẽ bổ sung UNIQUE mang lại hai column e-mail và phone.
ALTER TABLE hr.personsADD CONSTRAINT unique_email UNIQUE(email);ALTER TABLE hr.personsADD CONSTRAINT unique_phone UNIQUE(phone);
5. Xóa UNIQUE
UNIQUE cũng là một trong constraint nên các bạn hoàn toàn rất có thể sử dụng lệnhDROP CONSTRAINT để xóa.
ALTER TABLE table_nameDROP CONSTRAINT constraint_name;
Ví dụ: Xóa unique có tên làunique_phone thoát khỏi bảnghr.persons.
ALTER TABLE hr.personsDROP CONSTRAINT unique_phone;
bài trước bài bác tiếp
Hàm CHAR trong SQL vps
Cách áp dụng hàm CHAR trong SQL vps
Hàm CHARINDEX trong SQL hệ thống
Cách sử dụng hàm CHARINDEX vào SQL vps
Hàm CONCAT trong SQL server
Cách thực hiện hàm CONCAT trong SQL hệ thống
Hàm + vào SQL server
Cách áp dụng hàm + vào SQL hệ thống
Hàm DATALENGTH trong SQL server
Cách áp dụng hàm DATALENGTH vào SQL hệ thống
Hàm LEFT trong SQL hệ thống
Cách thực hiện hàm LEFT trong SQL server
Hàm LEN trong SQL vps
Cách áp dụng hàm LEN vào SQL hệ thống
Hàm LOWER trong SQL hệ thống
Cách thực hiện hàm LOWER vào SQL server
Hàm LTRIM trong SQL hệ thống
Cách thực hiện hàm LTRIM trong SQL server
Hàm NCHAR vào SQL server
Cách áp dụng hàm NCHAR vào SQL hệ thống
Hàm PATINDEX trong SQL server
Cách áp dụng hàm PATINDEX vào SQL hệ thống
Hàm REPLACE vào SQL server
Cách thực hiện hàm REPLACE trong SQL vps
Hàm RIGHT vào SQL server
Cách áp dụng hàm RIGHT vào SQL server
Hàm RTRIM vào SQL hệ thống
Cách thực hiện hàm RTRIM vào SQL server
Hàm SPACE vào SQL server
Cách áp dụng hàm SPACE trong SQL vps
Hàm STR trong SQL server
Cách sử dụng hàm STR vào SQL server
Hàm UPPER trong SQL hệ thống
Cách thực hiện hàm UPPER trong SQL vps
Hàm SUBSTRING trong SQL hệ thống
Cách thực hiện hàm SUBSTRING trong SQL hệ thống
Hàm STUFF vào SQL vps
Cách áp dụng hàm STUFF trong SQL server
Hàm ABS trong SQL hệ thống
Cách sử dụng hàm ABS trong SQL hệ thống
WORDPRESS
HTML Templates
Theme WordPress
Plugin WordPress
xây dựng WordPress
mẹo nhỏ WordPress
WEB HOSTING
quản ngại trị Linux
thủ pháp Hosting
kỹ năng và kiến thức Domain
WEB FRONTEND
Javascript
AngularJS
jQuery
jQuery di động
HTML & CSS
Bootstrap
TypeScript
SASS CSS
VueJS
NestJS
học tập ReactJS
WEB BACKEND
PHP
Codeigniter
Laravel
Phalcon
OpenCart
NodeJS
Blogspot
DATABASE
học tập MySQL
học MongoDB
cơ sở dữ liệu căn phiên bản
học tập Oracle
học SQL hệ thống
học tập SQLite
PROGRAMMING
Python
Java
Pascal
học C#
học Ruby
học tập Swift
C / C++
Kotlin
Golang
giải thuật
Visual Basic
MOBILE DEV
React Native
Học game ios
apk
Flutter
CÔNG CỤ
học Git
Testing
Control Panel
Dev Tool
FFmpeg
TIN HỌC
Excel
Word
PowerPoint
Access
Photoshop
MÔN HỌC
giờ đồng hồ Anh
Toán
giờ đồng hồ Nhật
Văn học
VIDEO
CSS Lab
PHP Lab
trình làng
giới thiệu Liên hệ chế độ Điều khoản
thủ pháp
máy tính xách tay Game Điện thoại Ứng dụng
liên kết hay
Môn học Toán Văn học Tiếng Anh
links
Gamehow.net
vị trí cao nhất Vinsports.net Tải app dk8, dk8 bet, cài đặt dk8