SQL PROGRAMMING

Câu lệnh UNIQUE trong SQL

Câu lệnh UNIQUE trong SQL

Giới thiệu

Trong chương này, chúng ta sẽ tìm hiểu cách sử dụng câu lệnh SQL Unique Constraint với các tùy chọn khác nhau.

Câu lệnh SQL Unique

Câu lệnh Unique constraint đảm bảo rằng tất cả các giá trị trong một cột là khác nhau. Cả hai Unique và 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. Primary Key constraint tự động có một unique constraint trong SQL. Tuy nhiên, bạn có thể có nhiều unique constraints cho mỗi bảng, nhưng chỉ có một primary key constraint cho mỗi bảng.

Chúng ta có thể tạo một unique constraint trong SQL Server 2019 (15.x) bằng cách sử dụng SQL server management studio hoặc SQL để đảm bảo không có giá trị trùng lặp nào được nhập vào các cột cụ thể không tham gia vào khóa chính. Tạo một unique constraint sẽ tự động tạo một unique index tương ứng trong SQL.

SQL Server Unique constraints cho phép bạn đảm bảo rằng dữ liệu được lưu trữ trong một cột hoặc một nhóm cột là duy nhất giữa các hàng trong một bảng.
Cú pháp 
  1. CREATE TABLE EmployeeName  (
  2.  EmpID int NOT NULL UNIQUE,
  3.   EmpName varchar(255) NOT NULL,
  4. );
Truy vấn trên tạo một bảng có tên “EmployeeName” và tên cột EmpID không phải là Null và Unique (tức là chúng ta không thể có dữ liệu trống hoặc trùng lặp) và EmpName
Sử dụng ràng buộc duy nhất trên câu lệnh tạo bảng
Cú pháp
  1. CREATE TABLE Employee  (
  2.  EmpID int NOT NULL UNIQUE,
  3.   EmpName varchar(255) NOT NULL,
  4.   EmpFirstName varchar(255),
  5.   EmpLastname varchar(255),
  6.   EmpAge int
  7. );
Truy vấn trên đã tạo một bảng có tên “Employee” và tên cột đầu tiên EmpId là Not NULL và UNIQUE, các tên cột khác EmpName, EmpFirstName, EmpLastname, EmpAge
Sử dụng ràng buộc Unique trên bảng thay đổi
Cú pháp 
  1. ALTER TABLE Employee
  2. ADD UNIQUE (EmpID);
Truy vấn trên với việc thêm một cột EmpID và đặt nó là UNIQUE.
“Unique” được sử dụng để biểu thị một ràng buộc Unique và cũng để xác định một tên duy nhất một ràng buộc Unique, trên nhiều cột.
Cú pháp 
  1. ALTER TABLE Employee
  2. ADD CONSTRAINT UC_Employee UNIQUE (EmpID,EmpLastName);
Truy vấn trên sẽ thêm các cột EmpID và EmpLastName vào bảng UC_Employee, với Ràng buộc duy nhất

Sử dụng câu lệnh Drop a Unique constraint 

Sử dụng ví dụ sau để bỏ ràng buộc Unique:
Cú pháp  
  1. ALTER TABLE Employee
  2. DROP CONSTRAINT UC_Employee;
Truy vấn trên sẽ loại bỏ Ràng buộc “Unique” khỏi bảng Nhân viên.

Sử dụng SQL Server Management Studio trong Unique Constraint

Để tạo một tuyên bố ràng buộc duy nhất:
  1. Trong Object Explorer, bấm chuột phải vào bảng mà bạn muốn thêm một ràng buộc duy nhất, rồi bấm Design.
  2. Trên menu Table Designer, bấm vào Indexes/Keys.
  3. Trong hộp thoại Indexes/Keys, bấm Add.
  4. Trong lưới bên dưới General, bấm vào Type và chọn Unique Key từ ​​hộp danh sách thả xuống ở bên phải thuộc tính.
  5. Trên menu File, bấm vào Save table name.

Sử dụng unique constraint trong SQL

Để tạo một ràng buộc duy nhất,
  1. Trong Object Explorer, kết nối với một phiên bản của Database Engine.
  2. Trên thanh Standard, nhấp vào New Query.
  3. Sao chép và dán ví dụ sau vào cửa sổ truy vấn và nhấp vào Execute. Ví dụ này tạo bảng SampleDetails và tạo một ràng buộc duy nhất trên cột TransactionID.
cú pháp 
  1. USE sample ;
  2. GO
  3. CREATE TABLE SampleDetails
  4.  (
  5.    TransactionID int NOT NULL,
  6.    CONSTRAINT AK_TransactionID UNIQUE(TransactionID)
  7. );
  8. GO
Truy vấn trên sẽ tạo một bảng SampleDetails trong cơ sở dữ liệu mẫu, với ràng buộc TransactionID và AK_TransactionID làm cho TransactionID trở thành duy nhất

Để tạo một ràng buộc duy nhất trên một bảng hiện có

  1. Trong Object Explorer, kết nối với một phiên bản của Database Engine.
  2. Trên thanh Standard, nhấp vào New Query.
  3. Sao chép và dán ví dụ sau vào cửa sổ truy vấn và nhấp vào Execute. Ví dụ này tạo một ràng buộc duy nhất trên các cột PasswordHash và PasswordSalt trong bảng Person. Password .
Cú pháp 
  1. USE sample
  2. GO
  3. ALTER TABLE Person.Password
  4. ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt);
  5. GO
Truy vấn trên nối thêm bảng Person. Mật khẩu trong cơ sở dữ liệu mẫu, với AK_Password CONSTRAINT làm cho PasswordHash và PasswordSalt trở nên độc nhất.

Để tạo một ràng buộc duy nhất trong một bảng mới

  1. Trong Object Explorer, kết nối với một phiên bản của Database Engine.
  2. Trên thanh Standard, nhấp vào New Query.
  3. Sao chép và dán ví dụ sau vào cửa sổ truy vấn và nhấp vào Execute. Ví dụ tạo một bảng và xác định một ràng buộc duy nhất trên cột TransactionID .

Cú pháp  

  1. USE sample;
  2. GO
  3. CREATE TABLE Production.TransactionHistoryArchive2
  4. (
  5.    TransactionID int NOT NULL,
  6.    CONSTRAINT AK_TransactionID UNIQUE(TransactionID)
  7. );
  8. GO
Truy vấn trên sử dụng cơ sở dữ liệu mẫu và tạo một bảng có tên “Production.TransactionHistoryArchive2” và tên cột là TransactionID và CONSTRAINT AK_TransactionID tên cột UNIQUE là TransactionID.

Bản tóm tắt

Trong chương tiếp theo, chúng ta sẽ tìm hiểu cách sử dụng câu lệnh Đếm trong SQL với nhiều tùy chọn khác

 

(Source: https://www.c-sharpcorner.com/)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *