W3School
Ràng buộc UNIQUE trong SQL
Ràng buộc UNIQUE
đảm bảo rằng tất cả các giá trị trong một cột là khác nhau. Bạn có thể hiểu như sau, ví dụ bạn có duy nhất một ràng buộc unique cho cột A, giờ bạn điền giá trị là 1 vào rồi thì sau đó bạn không thể điền giá trị 1 cho cột A nữa. Bạn có thể unique một cột hoặc nhiều cột khác nhau.
Cả ràng buộc UNIQUE
và ràng buộc PRIMARY KEY
đều đảm bảo tính duy nhất cho một cột hoặc tập hợp các cột. Một ràng buộc PRIMARY KEY
tự động có một ràng buộc UNIQUE
. Tuy nhiên, bạn có thể có nhiều ràng buộc UNIQUE
trên mỗi bảng, nhưng chỉ có một ràng buộc PRIMARY KEY
cho mỗi bảng.
Ràng buộc UNIQUE của SQL khi dùng CREATE TABLE
SQL sau tạo ra một ràng buộc UNIQUE
đối với cột “ID” khi bảng “Persons” được tạo:
SQL Server / Oracle / MS Access:
MySQL:
Để đặt tên cho một ràng buộc UNIQUE
và để xác định một ràng buộc UNIQUE
trên nhiều cột, hãy sử dụng cú pháp SQL sau:
MySQL / SQL Server / Oracle / MS Access:
Ràng buộc UNIQUE của SQL khi dùng ALTER TABLE
Để tạo ràng buộc UNIQUE
trên cột “ID” khi bảng đã được tạo, hãy sử dụng SQL sau:
MySQL / SQL Server / Oracle / MS Access:
Để đặt tên cho một ràng buộc UNIQUE
và để xác định một ràng buộc UNIQUE
trên nhiều cột, hãy sử dụng cú pháp SQL sau:
MySQL / SQL Server / Oracle / MS Access:
Xóa ràng buộc UNIQUE
Để loại bỏ một ràng buộc UNIQUE
, hãy sử dụng SQL sau:
MySQL:
SQL Server / Oracle / MS Access:
- SQL CREATE DATABASE
- SQL DROP DATABASE
- Backup Database Trong SQL Server
- SQL CREATE TABLE
- SQL DROP TABLE
- SQL ALTER TABLE
- SQL Constraints – Ràng buộc dữ liệu
- SQL NOT NULL Constraint – Ràng buộc không được không có dữ liệu
- SQL UNIQUE Constraint – Ràng buộc duy nhất
- SQL PRIMARY KEY Constraint – Ràng Buộc Về Khóa Chính
- SQL FOREIGN KEY Constraint – Ràng buộc khóa ngoại
Bạn có thể download cơ sở dữ liệu Northwind để bắt đầu thực hành tại đây:
- Dành cho Sql Server, MS Access Download
- Dành cho Mysql: Tạo bảng trước với Download Table sau đó hãy điền data với Download Data
- Dành cho Oracle Download
Lưu ý: Tên bảng trong CSDL cho SQL Server thường được viết hoa chữ đầu. Với Mysql thì tên bảng được viết thường. Và với Oracle thì tên bảng toàn bộ được viết hoa. Bạn hãy viết đúng tên bảng trong query của mình nhé.
Trong nội dung bài viết, đôi khi tên bảng được viết dưới dạng tiếng Việt, ví dụ:
- Customers: Khách hàng
- Orders: Đơn hàng
- Employees: Nhân viên
- Shipers: Giao hàng
- Invoices: Hoá đơn
W3School