×

Tạo khóa chính với lệnh KEY trong MySQL

Trong cơ sở dữ liệu MySQL, khóa chính (primary key) đóng vai trò cực kỳ quan trọng trong việc xác định duy nhất mỗi hàng dữ liệu trong một bảng. Khóa chính đảm bảo rằng không có hai hàng nào trong bảng có cùng một giá trị khóa chính, từ đó giúp duy trì tính toàn vẹn của dữ liệu. Dưới đây là hướng dẫn chi tiết về cách tạo khóa chính bằng lệnh KEY trong MySQL.

Khái niệm khóa chính

Khóa chính là một cột hoặc tập hợp các cột trong bảng mà mỗi giá trị phải là duy nhất và không thể null. Điều này đảm bảo rằng mỗi hàng dữ liệu trong bảng là duy nhất và có thể được xác định một cách dễ dàng.

Cách tạo khóa chính khi tạo bảng

Khi tạo một bảng mới trong MySQL, bạn có thể chỉ định một cột hoặc một tập hợp các cột làm khóa chính. Cú pháp cơ bản để tạo khóa chính khi tạo bảng như sau:

CREATE TABLE ten_bang (
    cot_1 INT,
    cot_2 VARCHAR(255),
    PRIMARY KEY (cot_1)
);

Ví dụ, ta có bảng nhan_vien với cột id làm khóa chính:

CREATE TABLE nhan_vien (
    id INT NOT NULL,
    ho_va_ten VARCHAR(255) NOT NULL,
    tuoi INT,
    dia_chi VARCHAR(255),
    PRIMARY KEY (id)
);

Tạo khóa chính trên nhiều cột

Đôi khi, chúng ta cần sử dụng nhiều cột để tạo thành một khóa chính. Đây là trường hợp của khóa chính kép (composite primary key).

CREATE TABLE bang_du_lieu (
    cot_a INT,
    cot_b VARCHAR(255),
    cot_c DATE,
    PRIMARY KEY (cot_a, cot_b)
);

Trong ví dụ trên, cả hai cột cot_acot_b kết hợp lại để tạo thành khóa chính.

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

Nếu bạn có một bảng đã tồn tại mà muốn thêm khóa chính, bạn có thể sử dụng lệnh ALTER TABLE. Cú pháp như sau:

ALTER TABLE ten_bang
ADD PRIMARY KEY (cot_ten);

Ví dụ, thêm khóa chính cho bảng san_pham đã có sẵn:

ALTER TABLE san_pham
ADD PRIMARY KEY (ma_san_pham);

Xóa khóa chính khỏi bảng

Trong một số trường hợp, bạn cần xóa khóa chính khỏi bảng. Bạn có thể sử dụng lệnh ALTER TABLE:

ALTER TABLE ten_bang
DROP PRIMARY KEY;

Ví dụ, xóa khóa chính khỏi bảng san_pham:

ALTER TABLE san_pham
DROP PRIMARY KEY;

Kết luận

Khóa chính là một phần quan trọng của việc quản lý cơ sở dữ liệu trong MySQL, giúp đảm bảo tính toàn vẹn và duy nhất của dữ liệu. Bằng cách sử dụng các lệnh CREATE TABLE, ALTER TABLE, bạn có thể dễ dàng tạo, thay đổi hoặc xóa khóa chính theo nhu cầu của mình. Hãy luôn nhớ rằng mỗi bảng trong cơ sở dữ liệu nên có ít nhất một khóa chính để đảm bảo rằng mỗi hàng dữ liệu là duy nhất.

Comments