Hướng dẫn tạo Unique trong MySQL

Trong bài này tôi sẽ hướng dẫn các bạn cách tạo unique trong mysql. Vậy Unique là gì? Và cách sử dụng như thế nào thì trong bài viết này tôi sẽ nói cụ thể.Ở bài trước, các bạn đã biết cách tạo khóa chính trong mysql.

Với một bảng chúng ta có duy nhất một khóa chính (Primary key) và nhiều khóa phụ (Foreign Key). Để xác định và phân biệt giữa các record (dòng) thì chúng ta sẽ dựa vào khóa chính bởi vì nó sẽ không trùng lặp. Tuy nhiên với unique cũng làm được điều tương tự. Vậy sự khác nhau giữa Primary key và Unique là gì?

Unique áp dụng trong trường hợp nào?

Hướng dẫn tạo Unique trong MySQL

Ở bảng trên tôi có bảng users tức là bảng người dùng và gồm các cột như hình.

Với id_user làm khóa chính, với một số trường hợp ngoài khóa chính các bạn không muốn dữ liệu (data) giữa các dòng không bị trùng lặp thì các bạn sẽ sử dụng unique.

Bảng users trên, tôi sẽ áp dụng unique với username? Lý do vì sao, vì username các bạn thấy rằng không thể trùng lặp được mà nó phải là duy nhất, nếu đã tồn tại rồi thì khi thêm một dòng mới nếu đã tồn tại giá tri đó rồi thì nó sẽ báo lỗi.

Kết luận : Unique trong mysql áp dụng trong trường hợp ngoài khóa chính là thuộc tính duy nhất, thì cột nào trong bảng muốn duy nhất và không được trùng lặp các bạn sử dụng unique nhé.

Phân biệt UNIQUE và Primary Key?

  • Primary Key có cấp cao hơn UNIQUE,Primary Key thường dùng để phân biệt giữa các record (dòng).
  • Trong mỗi bảng (table) chỉ có có duy nhất một Primary Key, còn UNIQUE có thể có nhiều hơn một.

Cách Tạo UNIQUE trong MySQL

Để tạo UNIQUE ta có hai cách :

  • Tạo trực tiếp trong lệnh tạo bảng
  • Sử dụng lệnh ALTER TABLE để tạo

Tạo trực tiếp trong lệnh tạo bảng

Têm từ khóa UNIQUE vào cột muốn thiết lập là UNIQUE(không trùng lặp).

CREATE TABLE users(
   id_user INT(255) PRIMARY KEY AUTO_INCREMENT,
   username VARCHAR(30) NOT NULL UNIQUE,
   fullname VARCHAR(50) NOT NULL
   active INT(1) DEFAULT 0 
);

Sử dụng alter table để tạo

Tương tự như những phần trước, cũng giống như tạo khóa chính thì chúng ta cần tạo bảng trước và sau đó sử dụng lệnh Alter Table để thêm UNIQUE.

// đầu tiên tạo bảng trước
CREATE TABLE users(
   id_user INT(255) PRIMARY KEY AUTO_INCREMENT,
   username VARCHAR(30) NOT NULL,
   fullname VARCHAR(50) NOT NULL
   active INT(1) DEFAULT 0 
);
// sau đó dùng lệnh alter table để thêm unique

ALTER TABLE users ADD UNIQUE(username);

Xóa (Drop) Unique trong MySQL

Khi tạo UNIQUE, với một số trường hợp tương tự như khóa chính.Các bạn muốn nếu bỏ nó đi thì sẽ sử dụng lệnh ALTER TABLE kết hợp với DROP.

Để xóa được các bạn cần phải biết được tên của cột có unique có tên gì? Cách 1, các bạn có thể vào tool trên localhost rồi xóa luôn ở tool. Các bạn nên sử dụng tool nhé, ở đây mình đang hướng dẫn các bạn sử dụng xampp.

Cách 2: các bạn không sử dụng tool thì cần phải đặt tên cho trường sử dụng unique đó bằng cách sử dụng CONSTRAINT để tạo tên cho UNIQUE.

Ví dụ :

CREATE TABLE users(
   id_user INT(255) PRIMARY KEY AUTO_INCREMENT,
   CONSTRAINT user_uni username VARCHAR(30) NOT NULL UNIQUE,
   fullname VARCHAR(50) NOT NULL
   active INT(1) DEFAULT 0 
);

Với cú pháp để xóa một unique như sau :

Cú pháp:

ALTER TABLE table_name DROP INDEX name_unique

Ví dụ:

ALTER TABLE users DROP INDEX user_uni

Kết Luận :

Với unique trong mysql nó áp dụng rất nhiều trong thực tế, như ví dụ trên là một cách áp dụng cho trường username. Trong bài này chúng ta đã biết cách tạo, đặt tên, xóa cũng như cách áp dụng unique trong mysql vào thực tế.

Hẹn gặp lại các bạn ở bài học tiếp theo! Chúc các bạn thực hiện thành công!

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
x