MySQL - TINYINT: Hướng dẫn cho người mới bắt đầu

Xin chào các pháp sư cơ sở dữ liệu tương lai! Hôm nay, chúng ta sẽ cùng lặn vào thế giới MySQL và khám phá một loại dữ liệu nhỏ bé nhưng mạnh mẽ: TINYINT. Đừng để kích thước của nó đánh lừa bạn; nhỏ bé này có thể mang lại hiệu quả lớn khi lưu trữ các giá trị số nguyên nhỏ một cách hiệu quả. Vậy, hãy mang theo mũ bảo hiểm ảo của bạn, và cùng bắt đầu khám phá thế giới TINYINT!

MySQL - TINYINT

Kiểu dữ liệu TINYINT trong MySQL

TINYINT là gì?

TINYINT là một trong các loại dữ liệu số nguyên của MySQL, được thiết kế để lưu trữ các số nguyên nhỏ. Hãy tưởng tượng nó như một chiếc xe compact trong thế giới số nguyên - nhỏ gọn, hiệu quả và hoàn hảo cho các chuyến đi ngắn (hoặc trong trường hợp của chúng ta, các số nhỏ).

Đặc điểm chính

  1. Kích thước: TINYINT sử dụng chỉ 1 byte không gian lưu trữ.
  2. Phạm vi giá trị:
  • Đã dấu phẩy động: -128 đến 127
  • Không dấu phẩy động: 0 đến 255

Khi nào nên sử dụng TINYINT

TINYINT rất phù hợp cho các tình huống bạn cần lưu trữ các giá trị số nguyên nhỏ. Ví dụ:

  • Tuổi (0-255 năm có lẽ đủ, phải không? Cậm thậm chí cho ma cà rồng!)
  • Đánh giá (1-5 sao)
  • Bộ đếm nhỏ
  • Giá trị布尔 (0 hoặc 1)

Cú pháp

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

Hãy phân tích này:

  • M: Độ rộng hiển thị tùy chọn (0-255)
  • UNSIGNED: Làm cho phạm vi là 0 đến 255
  • ZEROFILL: Điền số không vào trước các giá trị hiển thị

TINYINT trong hành động: Sử dụng chương trình khách

Bây giờ, hãy cởi bỏ áo khoác và xem TINYINT trong hành động. Chúng ta sẽ sử dụng một số ví dụ để minh họa cách làm việc với kiểu dữ liệu này trong MySQL.

Tạo bảng với TINYINT

Hãy tạo một bảng đơn giản để lưu trữ thông tin về hệ thống đánh giá sách:

CREATE TABLE book_ratings (
id INT AUTO_INCREMENT PRIMARY KEY,
book_name VARCHAR(100),
rating TINYINT UNSIGNED,
is_recommended TINYINT(1)
);

Trong ví dụ này:

  • rating sử dụng TINYINT UNSIGNED để lưu trữ các đánh giá từ 0 đến 5.
  • is_recommended sử dụng TINYINT(1) như một布尔 (0 cho false, 1 cho true).

Chèn dữ liệu

Hãy thêm một số đánh giá sách:

INSERT INTO book_ratings (book_name, rating, is_recommended)
VALUES
('The MySQL Handbook', 5, 1),
('SQL for Dummies', 3, 0),
('Database Design 101', 4, 1);

Truy vấn dữ liệu TINYINT

Bây giờ, hãy lấy dữ liệu của chúng ta:

SELECT * FROM book_ratings;

Kết quả:

+----+----------------------+--------+----------------+
| id | book_name            | rating | is_recommended |
+----+----------------------+--------+----------------+
|  1 | The MySQL Handbook   |      5 |              1 |
|  2 | SQL for Dummies      |      3 |              0 |
|  3 | Database Design 101  |      4 |              1 |
+----+----------------------+--------+----------------+

Sử dụng TINYINT trong điều kiện

TINYINT hoạt động rất tốt trong các mệnh đề WHERE:

SELECT book_name, rating
FROM book_ratings
WHERE rating > 3 AND is_recommended = 1;

Truy vấn này lấy các sách có đánh giá cao và được推荐.

TINYINT như một布尔

Mặc dù MySQL có kiểu dữ liệu BOOLEAN, nhưng nó thực sự là một别名 cho TINYINT(1). Dưới đây là cách sử dụng nó:

CREATE TABLE task_list (
id INT AUTO_INCREMENT PRIMARY KEY,
task_name VARCHAR(100),
is_completed BOOLEAN
);

INSERT INTO task_list (task_name, is_completed)
VALUES
('Learn MySQL', TRUE),
('Master TINYINT', FALSE);

SELECT * FROM task_list;

Kết quả:

+----+----------------+--------------+
| id | task_name      | is_completed |
+----+----------------+--------------+
|  1 | Learn MySQL    |            1 |
|  2 | Master TINYINT |            0 |
+----+----------------+--------------+

Phương thức và hàm TINYINT

Dưới đây là bảng các phương thức và hàm hữu ích cho việc làm việc với TINYINT:

Phương thức/Hàm Mô tả Ví dụ
ABS() Trả về giá trị tuyệt đối SELECT ABS(TINYINT_COLUMN) FROM TABLE;
SIGN() Trả về dấu (-1, 0, hoặc 1) SELECT SIGN(TINYINT_COLUMN) FROM TABLE;
MOD() Trả về phần dư SELECT MOD(TINYINT_COLUMN, 3) FROM TABLE;
GREATEST() Trả về giá trị lớn nhất SELECT GREATEST(TINYINT_COL1, TINYINT_COL2) FROM TABLE;
LEAST() Trả về giá trị nhỏ nhất SELECT LEAST(TINYINT_COL1, TINYINT_COL2) FROM TABLE;

Kết luận

Và thế là bạn đã có nó, các bạn! Chúng ta đã cùng nhau tham quan nhanh chóng kiểu dữ liệu TINYINT trong MySQL. Từ kích thước nhỏ gọn của nó đến sự linh hoạt trong việc lưu trữ các giá trị số nguyên nhỏ và thậm chí là các布尔, TINYINT chứng minh rằng những điều nhỏ bé đôi khi lại mang lại hiệu quả lớn.

Nhớ rằng, việc chọn đúng kiểu dữ liệu rất quan trọng cho hiệu suất và hiệu quả của cơ sở dữ liệu. TINYINT có thể nhỏ, nhưng nó có thể tạo ra sự khác biệt lớn khi bạn làm việc với hàng triệu bản ghi!

Trong hành trình MySQL của bạn, hãy luôn giữ TINYINT trong bộ công cụ của bạn. Nó giống như một chiếc dao cầm tay - nhỏ gọn, nhưng vô cùng hữu ích khi bạn cần nó. Chúc các bạn may mắn trong việc mã hóa, và mong rằng cơ sở dữ liệu của bạn luôn được tối ưu hóa!

Credits: Image by storyset