TopDev

Ràng buộc PRIMARY KEY (khóa chính) trong MySQL

minhdev 📖 2 phút đọc

Trong MySQL, ràng buộc PRIMARY KEY (khóa chính) là một thuộc tính quan trọng của cột trong bảng, đảm bảo tính duy nhất và xác định một cách rõ ràng dòng dữ liệu trong bảng. Khóa chính là cột hoặc tập hợp các cột mà giá trị của nó là duy nhất đối với mỗi hàng trong bảng. Dưới đây là các điều cần biết về ràng buộc PRIMARY KEY trong MySQL:

Đặc điểm của khóa chính (PRIMARY KEY)#

  • Duy nhất: Khóa chính đảm bảo mỗi giá trị trong cột (hoặc tập hợp các cột) chỉ xuất hiện duy nhất trong bảng.

  • Không rỗng (NOT NULL): Các cột trong khóa chính không thể chứa giá trị NULL, vì điều này sẽ ngăn cản MySQL xác định một giá trị duy nhất cho mỗi dòng.

  • Tự tăng (AUTO_INCREMENT): Thường thì một trong các cột trong khóa chính được thiết lập với tính năng tự động tăng giá trị để tự động tạo giá trị duy nhất cho mỗi bản ghi mới.

Cú pháp để định nghĩa ràng buộc PRIMARY KEY#

Khi tạo bảng (CREATE TABLE):

CREATE TABLE table_name ( column1 datatype PRIMARY KEY, column2 datatype, ... );

Ví dụ, trong bảng users, id được định nghĩa là khóa chính:

CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL );

Thêm khóa chính vào bảng đã tồn tại (ALTER TABLE):

ALTER TABLE table_name ADD PRIMARY KEY (column_name);

Ví dụ, để thêm khóa chính vào cột user_id trong bảng orders:

ALTER TABLE orders ADD PRIMARY KEY (user_id);

Lợi ích của khóa chính (PRIMARY KEY)#

  • Tối ưu hóa truy xuất dữ liệu: MySQL sử dụng khóa chính để tìm nhanh dữ liệu trong bảng.

  • Duy trì tính toàn vẹn dữ liệu: Đảm bảo rằng không có giá trị trùng lặp hoặc giá trị NULL trong cột khóa chính.

  • Liên kết với các bảng khác: Khóa chính thường được sử dụng như một khóa ngoại trong các bảng liên quan để thiết lập các mối quan hệ giữa chúng.

Lưu ý khi sử dụng khóa chính#

  • Chỉ một khóa chính cho mỗi bảng: Mỗi bảng chỉ nên có một khóa chính để giữ cho dữ liệu được tổ chức một cách rõ ràng và hiệu quả.

  • Không nên thay đổi giá trị khóa chính: Việc thay đổi giá trị của khóa chính có thể ảnh hưởng đến mối quan hệ với các bảng khác, do đó cần cẩn thận khi thực hiện.

Khóa chính là một khái niệm quan trọng trong thiết kế cơ sở dữ liệu quan hệ để đảm bảo tính duy nhất và xác định của dữ liệu. Nó cũng là một trong những yếu tố quan trọng trong việc tối ưu hóa hiệu suất của các truy vấn SQL trong MySQL.

Bài liên quan trong #Database

✓ Đã sao chép link