MySQL Primary Key

MySQL Primary Key

Trong MySQL, khóa chính (Primary Key) là một thuộc tính quan trọng trong cơ sở dữ liệu. Nó được sử dụng để xác định duy nhất mỗi bản ghi trong một bảng. Mỗi bảng chỉ nên có một khóa chính, và giá trị của khóa chính không được phép NULL. Điều này đảm bảo rằng không có hai bản ghi nào có cùng giá trị cho khóa chính, từ đó tạo ra một cấu trúc dữ liệu rõ ràng và hợp lý.

Định nghĩa

Khóa chính là một hoặc nhiều cột trong bảng mà giá trị của chúng dùng để nhận diện một bản ghi duy nhất. Một số đặc điểm của khóa chính bao gồm:

  • Giá trị của khóa chính phải là duy nhất.
  • Không được phép là NULL.
  • Mỗi bảng chỉ có một khóa chính.

Cú pháp

Cú pháp để định nghĩa khóa chính trong MySQL khi tạo bảng như sau:

CREATE TABLE ten_bang (
    cot_1 datatype NOT NULL,
    cot_2 datatype,
    ...
    PRIMARY KEY (cot_1, cot_2)
);

Trong đó, cot_1cot_2 là các cột mà bạn muốn dùng làm khóa chính.

Ví dụ

Giả sử chúng ta muốn tạo một bảng "SinhVien" để lưu trữ thông tin của sinh viên, trong đó mã sinh viên là khóa chính. Cú pháp tạo bảng sẽ như sau:

CREATE TABLE SinhVien (
    MaSV INT NOT NULL,
    TenSV VARCHAR(100),
    NgaySinh DATE,
    PRIMARY KEY (MaSV)
);

Trong ví dụ trên, MaSV là khóa chính và không được phép NULL, chắc chắn rằng mỗi sinh viên sẽ có một mã duy nhất.

Cập nhật Khóa Chính

Nếu bạn cần cập nhật khóa chính trong một bảng đã tồn tại, bạn có thể làm như sau:

ALTER TABLE ten_bang
ADD PRIMARY KEY (cot_moi);

Hoặc nếu bạn muốn xóa khóa chính:

ALTER TABLE ten_bang
DROP PRIMARY KEY;

Kết luận

Khóa chính là một phần quan trọng trong thiết kế cơ sở dữ liệu. Nó không chỉ giúp xác định các bản ghi mà còn giúp duy trì tính nhất quán và toàn vẹn dữ liệu. Hiểu và sử dụng khóa chính đúng cách là rất cần thiết để phát triển ứng dụng và quản lý cơ sở dữ liệu hiệu quả.