Hướng dẫn insert unique mysql - chèn mysql duy nhất
Trong bài tạo khóa chính Primary Key mình đã nói rằng trong một bảng sẽ tồn tại một khóa chính (có thể có nhiều fields) và giá trị của nó sẽ là duy nhất, nghĩa là dữ liệu sẽ không được trùng lặp. Vậy thì Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức. Vậy sự khác nhau giữa Primary Key và Unique là gì? Để trả lời ta sẽ tìm hiểu cú pháp tạo Unique trong MySQL đã nhé.Unique trong MySQL đã nhé. 1. Unique trong MySQL
Ví dụ trong bảng Users gồm các fields như sau: Users(id, username, email) thì với CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );0 ta sẽ chọn làm khóa chính. Nhưng mà tôi muốn email và username của người dùng phải là duy nhất, nghĩa là người dùng không được sử dụng một CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );1 hoặc CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );2 để đăng ký nhiều tài khoản. Để giải quyết thì ta sẽ thiết lập cho hai fields này là UNIQUE .Users(id, username, email) thì với CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );0 ta sẽ chọn làm khóa chính. Nhưng mà tôi muốn email và username của người dùng phải là duy nhất, nghĩa là người dùng không được sử dụng một CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );1 hoặc CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );2 để đăng ký nhiều tài khoản. Để giải quyết thì ta sẽ thiết lập cho hai fields này là UNIQUE .Bài viết này được đăng tại [free tuts .net] Như vậy sự khác biệt giữa CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );5 là:
2. Tạo UNIQUE trong MySQLĐể tạo UNIQUE ta có hai cách, cách thứ nhất là tạo trực tiếp trong lệnh CREATE TABLE và cách thứ hai là sử dụng lệnh CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email);0. Tạo trong lệnh tạo bảngChúng ta sẽ thêm từ khóa CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR(50) NOT NULL UNIQUE ); Hoặc ta có thể thêm nó ở dưới danh sách các fields (giống Primary Key). CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) ); Sử dụng Alter Table để tạoTrong trường hợp này chúng ta sẽ tạo bảng trước, sau đó sử dụng lệnh CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email);3 để thêm UNIQUE .CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email); Sử dụng CONSTRAINT để tạo tên cho UNIQUECách này khuyến khích sử dụng vì mỗi index chúng ta nên đặt cho nó một cái tên để sau này muốn thực hiện thao tác delete unique thì sẽ dựa vào tên constraint đó. Ví dụ:khuyến khích sử dụng vì mỗi index chúng ta nên đặt cho nó một cái tên để sau này muốn thực hiện thao tác delete unique thì sẽ dựa vào tên constraint đó. Ví dụ: CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, CONSTRAINT user_unique UNIQUE (username), CONSTRAINT email_unique UNIQUE (email) ); Hoặc:: ALTER TABLE Users ADD CONSTRAINT user_unique UNIQUE (username) 3. Xóa (Drop) Unique trong MySQLSau khi tạo CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email);0 kết hợp với CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email);7. Tuy nhiên để xóa CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email);8 nào thì chúng ta phải biết được tên của nó, vì vậy ta nên dùng CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); ALTER TABLE Users ADD UNIQUE(username); ALTER TABLE Users ADD UNIQUE(email);9 để tạo unique nhé. Sau đây là ví dụ xóa UNIQUE .ALTER TABLE Users DROP INDEX user_unique Các bạn lưu ý chữ thường chính là các chỗ bạn sẽ đổi còn chữ hoa là các keyword nên không được đổi nhé. 4. Lời kếtBài này chủ yếu hướng dẫn cách tạo CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, CONSTRAINT user_unique UNIQUE (username), CONSTRAINT email_unique UNIQUE (email) );2 và phân biệt nó với CREATE TABLE Users( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, UNIQUE (username), UNIQUE (email) );5, đây cũng là một dạng chỉ mục đóng vai trò rất quan trọng trong việc tối ưu hóa truy vấn. Bài này mình dừng ở đây, bài tiếp theo mình sẽ trình bày về thiết lập tăng tự động cho khóa chính (auto increment). Bài học này chúng ta cùng tìm hiểu về Unique trong MySQl như thế nào, hướng dẫn cách tạo Unique, xóa Unique thông qua lệnh Alter Table và sử dụng CONSTRAINT Bài trước mình đã hướng dẫn tạo khóa chính (Primary key) trong MySQL thì chúng ta biết được một bảng sẽ tồn tại một khóa chính (có thể có nhiều fileds) vầ nó có giá trị duy nhất, không được trùng lặp. Vậy trong trường hợp này thì Dưới đây chúng ta sẽ đi vào tìm hiểu cụ thể hơn. Nội dung bài học1. Unique trong MySQL 2. Tạo UNIQUE trong MySQL 3. Xóa (Drop) Unique trong MySQL Lời kếtNhư vậy bài học này mình đã hướng dẫn xong cách tạo UNIQUE trong MySQl. Giờ thì bạn có thể phân biệt được giữa UNIQUE và Primary key rồi phải không? Thực ra những kiến thức này không quá nhiều nhưng nó rất cần thiết cho các bạn khi muốn học MySQL. Chúc các bạn học hiệu quả. Bài 7: Tạo Unique trong MySQL Bài viết nằm trong case Study Hướng dẫn MySQL cơ bản và nâng cao —oOo— Tag: Bai hoc nay chung ta cung tim hieu ve Unique trong MySQl nhu the nao, huong dan cach tao Unique, xoa Unique thong qua lenh Alter Table va su dung CONSTRAINT Minh bat dau nhe!. Huong dan hoc MySQL , Hoc MySQL truc tuyen , Tu hoc MySQL , Video huong dan hoc MySQL , download tai lieu hoc MySQL , hoc MySQL mien phi , hoc MySQL online , hoc MySQL truc tuyen , hoc MySQL co ban , hoc MySQL nang cao , tai lieu hoc MySQL , Ebook hoc MySQL , hoc MySQL can ban , sach hoc MySQL , học lập trình MySQL .: Bai hoc nay chung ta cung tim hieu ve Unique trong MySQl nhu the nao, huong dan cach tao Unique, xoa Unique thong qua lenh Alter Table va su dung CONSTRAINT Minh bat dau nhe!. Huong dan hoc MySQL , Hoc MySQL truc tuyen , Tu hoc MySQL , Video huong dan hoc MySQL , download tai lieu hoc MySQL , hoc MySQL mien phi , hoc MySQL online , hoc MySQL truc tuyen , hoc MySQL co ban , hoc MySQL nang cao , tai lieu hoc MySQL , Ebook hoc MySQL , hoc MySQL can ban , sach hoc MySQL , học lập trình MySQL . |