MySQL Unique

Giới thiệu về MySQL Unique

MySQL là một hệ quản trị cơ sở dữ liệu (RDBMS) mã nguồn mở, được sử dụng rộng rãi để quản lý và truy vấn dữ liệu. Trong MySQL, "Unique" là một trong những ràng buộc (constraint) quan trọng, được sử dụng để đảm bảo rằng các giá trị trong một cột hoặc một tập hợp các cột là duy nhất trong bảng. Điều này có nghĩa là không có hai hàng nào trong bảng có cùng một giá trị cho cột hoặc tập hợp các cột đã được chỉ định.

Định nghĩa

Ràng buộc Unique được sử dụng để tránh việc nhập dữ liệu trùng lặp. Điều này rất hữu ích trong nhiều tình huống, chẳng hạn như khi bạn muốn đảm bảo rằng không có hai người dùng cùng có một địa chỉ email hoặc không có hai sản phẩm có cùng một mã sản phẩm.

Cú pháp

Cú pháp để tạo ràng buộc Unique trong MySQL có nhiều cách, tùy thuộc vào lúc bạn áp dụng nó. Dưới đây là một số cách để sử dụng ràng buộc Unique:

1. Tạo bảng với ràng buộc Unique

CREATE TABLE tên_bảng (
    cột_1 loại_dữ_liệu,
    cột_2 loại_dữ_liệu UNIQUE,
    ...
);

2. Thêm ràng buộc Unique vào bảng đã tồn tại

ALTER TABLE tên_bảng
ADD CONSTRAINT tên_ràng_buộc UNIQUE (cột_1, cột_2, ...);

3. Tạo ràng buộc Unique trong quá trình tạo bảng

CREATE TABLE tên_bảng (
    cột_1 loại_dữ_liệu,
    cột_2 loại_dữ_liệu,
    ...
    CONSTRAINT tên_ràng_buộc UNIQUE (cột_1, cột_2, ...)
);

Ví dụ

Ví dụ 1: Tạo bảng với ràng buộc Unique

CREATE TABLE nguoidung (
    id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(100) UNIQUE,
    ten VARCHAR(50)
);

Trong ví dụ này, cột email phải có giá trị duy nhất cho mỗi hàng trong bảng nguoidung.

Ví dụ 2: Thêm ràng buộc Unique vào bảng đã tồn tại

ALTER TABLE nguoidung
ADD CONSTRAINT uniq_ten UNIQUE (ten);

Thao tác trên sẽ đảm bảo rằng không có hai hàng nào trong bảng nguoidung có cùng tên.

Ví dụ 3: Ràng buộc Unique với nhiều cột

CREATE TABLE sanpham (
    id INT AUTO_INCREMENT PRIMARY KEY,
    ma_san_pham VARCHAR(50),
    ten_san_pham VARCHAR(100),
    CONSTRAINT uniq_ma_san_pham UNIQUE (ma_san_pham, ten_san_pham)
);

Trong ví dụ này, sự kết hợp của ma_san_phamten_san_pham phải là duy nhất cho mỗi hàng trong bảng sanpham.

Kết luận

Ràng buộc Unique trong MySQL là một công cụ hữu ích giúp đảm bảo tính nhất quán và toàn vẹn dữ liệu trong cơ sở dữ liệu của bạn. Bằng cách sử dụng các cú pháp đơn giản, lập trình viên có thể dễ dàng áp dụng và quản lý các giá trị duy nhất trong bảng của họ.