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


1) Chức năng của ràng buộc PRIMARY KEY

- Nếu nói về chức năng thì ràng buộc PRIMARY KEY (khóa chính) cũng giống với ràng buộc UNIQUE, nó dùng để thiết lập việc dữ liệu trên các hàng (trong cái bảng) không được phép trùng nhau.

- Một ràng buộc PRIMARY KEY có thể được thiết lập cho một cột hoặc một tập hợp các cột

⛔ Nếu chúng ta thiết lập ràng buộc PRIMARY KEY cho một cột thì dữ liệu trên các hàng của cột đó tuyệt đối không được trùng nhau.

⛔ Nếu chúng ta thiết lập ràng buộc PRIMARY KEY cho một tập hợp các cột thì dữ liệu trên các hàng của một tập hợp các cột đó tuyệt đối không được trùng nhau.

- Thông thường thì ràng buộc PRIMARY KEY chỉ dùng để thiết lập cho riêng một cột (điển hình như các cột liên quan đến ID, mã số, . . . .) để nhận diện một hàng.

- Trên một cái bảng chỉ được phép tồn tại tối đa một ràng buộc PRIMARY KEY.

2) Cách tạo ràng buộc PRIMARY KEY cho một cột

- Để thiết lập ràng buộc PRIMARY KEY cho một cột nào đó thì trong quá trình tạo bảng, chúng ta chỉ cần thêm từ khóa PRIMARY KEY nằm phía sau tên cột là xong.

Ví dụ:

- Đoạn mã bên dưới dùng để tạo một cái bảng Customers. Trong đó, cột CustomerID bị thiết lập ràng buộc PRIMARY KEY, điều đó đồng nghĩa với việc tất cả các khách hàng bên trong cái bảng không được phép có ID trùng nhau.

CREATE TABLE Customers(
	CustomerID INT PRIMARY KEY,
	CustomerName VARCHAR(255),
	PhoneNumber INT,
	City VARCHAR(255)
);

3) Cách tạo ràng buộc PRIMARY KEY cho một tập hợp các cột

- Để thiết lập ràng buộc PRIMARY KEY cho một tập hợp các cột thì chúng ta sử dụng cú pháp như sau:

PRIMARY KEY(column1, column2, column3, ....)
Ví dụ:

- Trong cái bảng Customers, tôi có tạo một ràng buộc PRIMARY KEY dựa trên hai cột CustomerName & City, điều đó đồng nghĩa với việc bên trong cái bảng Customers không được phép tồn tại những khách hàng có cùng tên & cùng thành phố.

CREATE TABLE Customers(
	CustomerID INT,
	CustomerName VARCHAR(255),
	PhoneNumber INT,
	City VARCHAR(255),
	PRIMARY KEY(CustomerName,City)
);

4) Thêm ràng buộc PRIMARY KEY (khi bảng đã được tạo)

- Đối với trường hợp bảng đã được tạo trước đó, nhưng do quên thiết lập ràng buộc PRIMARY KEY cho cột nên bây giờ các bạn muốn bổ sung, để làm được điều đó thì sử dụng lệnh chỉnh sửa bảng như bên dưới.

ALTER TABLE table_name ADD PRIMARY KEY(column1, column2, column3, ....);

5) Cách xóa ràng buộc PRIMARY KEY

- Dưới đây là cú pháp dùng để xóa ràng buộc PRIMARY KEY ra khỏi bảng.

ALTER TABLE table_name DROP PRIMARY KEY;