Trong MySQL, kiểu dữ liệu số nguyên (Integer Types) được sử dụng để lưu trữ các giá trị số nguyên. Các kiểu dữ liệu này rất quan trọng trong việc quản lý dữ liệu số học và phân tích dữ liệu. Bài viết này sẽ cung cấp một cái nhìn chi tiết về các kiểu dữ liệu số nguyên trong MySQL, từ cơ bản đến nâng cao, cùng với các ví dụ minh họa cụ thể.

1. Giới Thiệu Chung về Kiểu Dữ Liệu Số Nguyên

Các kiểu dữ liệu số nguyên trong MySQL được sử dụng để lưu trữ các giá trị số không có phần thập phân. Chúng có thể được phân loại dựa trên kích thước và phạm vi giá trị mà chúng có thể lưu trữ. Sự lựa chọn kiểu dữ liệu phù hợp là rất quan trọng để tối ưu hóa hiệu suất cơ sở dữ liệu và đảm bảo rằng dữ liệu được lưu trữ chính xác.

2. Các Kiểu Dữ Liệu Số Nguyên Cơ Bản

2.1. TINYINT

Mô Tả

TINYINT là kiểu dữ liệu số nguyên nhỏ nhất trong MySQL. Nó thường được sử dụng khi cần lưu trữ các giá trị số nguyên rất nhỏ.

Độ Dài

  • Không dấu: Từ 0 đến 255.
  • Có dấu: Từ -128 đến 127.

Cấu Trúc

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

Trong đó, M là độ rộng hiển thị (không ảnh hưởng đến phạm vi giá trị), UNSIGNED cho phép lưu trữ các giá trị không âm.

Ví Dụ

CREATE TABLE example (
    small_number TINYINT
);

Nếu bạn chỉ cần lưu trữ các giá trị từ 0 đến 100, TINYINT là sự lựa chọn hợp lý để tiết kiệm không gian lưu trữ.

2.2. SMALLINT

Mô Tả

SMALLINT là kiểu dữ liệu số nguyên có kích thước lớn hơn TINYINT nhưng nhỏ hơn MEDIUMINTINT. Thích hợp cho các giá trị số nguyên nhỏ đến trung bình.

Độ Dài

  • Không dấu: Từ 0 đến 65,535.
  • Có dấu: Từ -32,768 đến 32,767.

Cấu Trúc

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

Ví Dụ

CREATE TABLE example (
    medium_number SMALLINT
);

Nếu bạn cần lưu trữ số lượng đơn vị sản phẩm trong một kho mà không vượt quá 10,000, SMALLINT sẽ là sự lựa chọn tối ưu.

2.3. MEDIUMINT

Mô Tả

MEDIUMINT là kiểu dữ liệu số nguyên có kích thước lớn hơn SMALLINT và nhỏ hơn INT. Phù hợp với các ứng dụng cần lưu trữ các giá trị số nguyên vừa phải.

Độ Dài

  • Không dấu: Từ 0 đến 16,777,215.
  • Có dấu: Từ -8,388,608 đến 8,388,607.

Cấu Trúc

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

Ví Dụ

CREATE TABLE example (
    large_number MEDIUMINT
);

MEDIUMINT phù hợp để lưu trữ các giá trị số lớn như số lượng người dùng trong một hệ thống lớn.

2.4. INT

Mô Tả

INT là kiểu dữ liệu số nguyên có kích thước lớn, phù hợp cho các ứng dụng cần lưu trữ các giá trị số nguyên lớn. Đây là kiểu dữ liệu số nguyên phổ biến nhất trong MySQL.

Độ Dài

  • Không dấu: Từ 0 đến 4,294,967,295.
  • Có dấu: Từ -2,147,483,648 đến 2,147,483,647.

Cấu Trúc

INT[(M)] [UNSIGNED] [ZEROFILL]

Ví Dụ

CREATE TABLE example (
    large_number INT
);

INT thường được sử dụng để lưu trữ các giá trị số nguyên trong các bảng dữ liệu lớn, chẳng hạn như ID của người dùng hoặc số lượng giao dịch.

2.5. BIGINT

Mô Tả

BIGINT là kiểu dữ liệu số nguyên lớn nhất trong MySQL. Được sử dụng khi cần lưu trữ các giá trị số rất lớn mà các kiểu dữ liệu khác không đủ khả năng.

Độ Dài

  • Không dấu: Từ 0 đến 18,446,744,073,709,551,615.
  • Có dấu: Từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807.

Cấu Trúc

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

Ví Dụ

CREATE TABLE example (
    very_large_number BIGINT
);

BIGINT thích hợp để lưu trữ các giá trị như số lượng giao dịch tài chính lớn hoặc số lượng đơn vị sản phẩm trong các ứng dụng quy mô toàn cầu.

3. So Sánh và Lựa Chọn Kiểu Dữ Liệu Số Nguyên

3.1. Khi Nào Nên Sử Dụng TINYINT

Sử dụng TINYINT khi bạn cần lưu trữ các giá trị số rất nhỏ và muốn tiết kiệm không gian lưu trữ. Ví dụ, cột lưu trạng thái (có thể là giá trị từ 0 đến 1) hoặc số lượng hạn chế.

3.2. Khi Nào Nên Sử Dụng SMALLINT

Sử dụng SMALLINT khi bạn cần lưu trữ các giá trị số nhỏ đến trung bình, chẳng hạn như số lượng đơn hàng hoặc mã vùng.

3.3. Khi Nào Nên Sử Dụng MEDIUMINT

Sử dụng MEDIUMINT khi bạn cần lưu trữ các giá trị số lớn hơn, chẳng hạn như số lượng người dùng trong các ứng dụng lớn.

3.4. Khi Nào Nên Sử Dụng INT

Sử dụng INT cho hầu hết các ứng dụng khi cần lưu trữ các giá trị số nguyên lớn. Đây là kiểu dữ liệu phổ biến và đa dụng nhất cho các cột số nguyên.

3.5. Khi Nào Nên Sử Dụng BIGINT

Sử dụng BIGINT khi bạn cần lưu trữ các giá trị số rất lớn, như số lượng giao dịch tài chính lớn hoặc số lượng đơn vị sản phẩm toàn cầu.

4. Kết Luận

Việc chọn đúng kiểu dữ liệu số nguyên trong MySQL là rất quan trọng để đảm bảo tính chính xác và hiệu suất của cơ sở dữ liệu. Hy vọng rằng bài viết này đã cung cấp cho bạn cái nhìn rõ ràng và chi tiết về các kiểu dữ liệu số nguyên trong MySQL, cùng với các ví dụ minh họa từ cơ bản đến nâng cao. Hãy lựa chọn kiểu dữ liệu phù hợp với yêu cầu của bạn để tối ưu hóa việc lưu trữ và xử lý dữ liệu trong cơ sở dữ liệu của bạn.