hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • MySQL
Tìm Hiểu Khóa Chính (Primary Key) Trong MySQL

Tìm Hiểu Khóa Chính (Primary Key) Trong MySQL

  • 14-06-2025
  • trienkhaiweb
  • 0 Comments

Dưới đây là phiên bản biên tập lại của bạn, được chuyển thành một bài viết hướng dẫn chi tiết về khóa chính (Primary Key) trong MySQL, súc tích, rõ ràng và chuẩn mực để dễ dùng cho học tập hoặc chia sẻ:


Mục lục

  • Tìm Hiểu Khóa Chính (Primary Key) Trong MySQL
    • 1. Đặc Điểm Của Khóa Chính
    • 2. Cách Tạo Khóa Chính Trong MySQL
      • Cách 1: Tạo khóa chính khi tạo bảng
      • Cách 2: Tạo khóa chính gồm nhiều cột (Composite Primary Key)
      • Cách 3: Tạo khóa chính bằng câu lệnh ALTER TABLE
      • Cách 4: Tạo khóa chính có tên bằng CONSTRAINT
    • 3. Xóa Khóa Chính (DROP PRIMARY KEY)
    • 4. Kết Luận

Tìm Hiểu Khóa Chính (Primary Key) Trong MySQL

Trong thiết kế cơ sở dữ liệu, khóa chính (Primary Key) đóng vai trò quan trọng giúp phân biệt duy nhất mỗi dòng dữ liệu (record) trong một bảng (table). Khóa chính thường được chọn là một trường số (INT, BIGINT, …) có giá trị duy nhất và thường được thiết lập để tự động tăng (AUTO_INCREMENT).


1. Đặc Điểm Của Khóa Chính

Khi xây dựng bảng như SINHVIEN, chúng ta không thể dùng tên sinh viên để phân biệt vì có thể bị trùng. Do đó, cần thêm một trường như MaSV để làm khóa chính. Một khóa chính trong MySQL có các đặc điểm sau:

  • Duy nhất: Mỗi record phải có giá trị khóa chính duy nhất.
  • Không được NULL: Trường khóa chính luôn phải có giá trị.
  • Chỉ tồn tại một khóa chính duy nhất trong mỗi bảng, nhưng có thể gồm nhiều cột (composite key).
  • Thường là kiểu số (INT, BIGINT, …) để tăng tốc độ truy vấn.
  • Khi được khai báo, MySQL sẽ tạo một chỉ mục (index) đặc biệt có tên là PRIMARY.

2. Cách Tạo Khóa Chính Trong MySQL

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

Ví dụ 1 – Đặt PRIMARY KEY trực tiếp sau cột:

CREATE TABLE users (
    id INT(10) UNSIGNED NOT NULL PRIMARY KEY,
    email VARCHAR(70) NOT NULL
) ENGINE = InnoDB;

Ví dụ 2 – Đặt PRIMARY KEY() ở cuối danh sách cột:

CREATE TABLE users (
    id INT(10) UNSIGNED NOT NULL,
    email VARCHAR(70) NOT NULL,
    PRIMARY KEY(id)
) ENGINE = InnoDB;

Cách 2: Tạo khóa chính gồm nhiều cột (Composite Primary Key)

CREATE TABLE users (
    id INT(10) UNSIGNED NOT NULL,
    email VARCHAR(70) NOT NULL,
    PRIMARY KEY(id, email)
) ENGINE = InnoDB;

Cách 3: Tạo khóa chính bằng câu lệnh ALTER TABLE

Khi đã tạo bảng, bạn vẫn có thể thêm khóa chính sau:

CREATE TABLE users (
    id INT(10) UNSIGNED NOT NULL,
    email VARCHAR(70) NOT NULL
) ENGINE = InnoDB;

ALTER TABLE users ADD PRIMARY KEY(id);

Cách 4: Tạo khóa chính có tên bằng CONSTRAINT

Khai báo tên khóa chính giúp dễ quản lý sau này (ví dụ khi cần sửa hoặc xóa khóa chính):

CREATE TABLE users (
    id INT(10) UNSIGNED NOT NULL,
    email VARCHAR(70) NOT NULL,
    CONSTRAINT pk_user PRIMARY KEY(id)
) ENGINE = InnoDB;

Hoặc:

ALTER TABLE users ADD CONSTRAINT pk_user PRIMARY KEY (id);

3. Xóa Khóa Chính (DROP PRIMARY KEY)

Để xóa khóa chính khỏi bảng:

ALTER TABLE users DROP PRIMARY KEY;

⚠️ Lưu ý: Nếu khóa chính đang được tham chiếu bởi khóa ngoại (foreign key) từ bảng khác, bạn cần xóa ràng buộc đó trước.


4. Kết Luận

Khóa chính là thành phần cốt lõi trong thiết kế CSDL, giúp đảm bảo tính toàn vẹn và tối ưu hóa hiệu suất truy vấn. MySQL cung cấp nhiều cách để tạo và quản lý khóa chính linh hoạt. Ngoài ra, cú pháp về khóa chính trong MySQL cũng gần giống với các hệ quản trị khác như SQL Server (T-SQL).

Bài viết liên quan:

Tìm Hiểu Ràng Buộc UNIQUE Trong MySQL
Các câu lệnh DDL trong MySQL
Data Types (kiểu dữ liệu) trong MySQL
Storage Engines/table types (công cụ lưu trữ) trong MySQL
Khởi tạo và quản trị database trong MySQL
Phân loại các kiểu câu lệnh SQL trong MySQL
Cài đặt và sử dụng Mysql Server Mac Os

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Các lớp trừu tượng và Giao diện

Kế thừa và Đa hình

Tìm Hiểu Ràng Buộc UNIQUE Trong MySQL

Các câu lệnh DDL trong MySQL

Tìm Hiểu Khóa Chính (Primary Key) Trong MySQL

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×