Các kiểu dữ liệu (Data Types) trong MariaDB
Việc định nghĩa các cột (fields) trong cơ sở dữ liệu một cách hợp lý là rất quan trọng để tối ưu hiệu suất. Một nguyên tắc cơ bản là chỉ sử dụng kiểu dữ liệu và kích thước cần thiết. Ví dụ, nếu một cột chỉ cần lưu 5 ký tự, thì không nên khai báo với độ dài 20 ký tự để tránh lãng phí tài nguyên.

Trong MariaDB, các kiểu dữ liệu được chia thành ba nhóm chính:
- Kiểu số (Numeric Data Types)
- Kiểu ngày và thời gian (Date and Time Data Types)
- Kiểu chuỗi (String Data Types)
Kiểu số (Numeric Data Types) trong MariaDB
Số nguyên (Integer Types)
| Kiểu dữ liệu | Phạm vi giá trị (signed) | Phạm vi giá trị (unsigned) | Mô tả |
|---|---|---|---|
| TINYINT | -128 đến 127 | 0 đến 255 | Số nguyên nhỏ |
| BOOLEAN | 0 hoặc 1 | - | 0 = false, 1 = true |
| SMALLINT | -32,768 đến 32,767 | 0 đến 65,535 | Số nguyên nhỏ hơn INT |
| MEDIUMINT | -8,388,608 đến 8,388,607 | 0 đến 16,777,215 | Số nguyên trung bình |
| INT (hoặc INTEGER) | -2,147,483,648 đến 2,147,483,647 | 0 đến 4,294,967,295 | Số nguyên thông thường |
| BIGINT | -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807 | 0 đến 18,446,744,073,709,551,615 | Số nguyên lớn |
Ghi chú:
- Khi khai báo UNSIGNED, giá trị âm sẽ bị loại bỏ, và phạm vi giá trị tăng gấp đôi.
- Sử dụng ZEROFILL sẽ tự động điền số
0vào bên trái số nguyên để đạt độ dàiMđã chỉ định.
Số thực (Floating-Point Types)
| Kiểu dữ liệu | Phạm vi giá trị | Mô tả |
|---|---|---|
| DECIMAL (hoặc NUMERIC, FIXED, DEC) | Tổng tối đa 65 chữ số, với tối đa 30 chữ số thập phân | Số thực có độ chính xác cao, hữu ích cho tài chính, kế toán |
| FLOAT | -3.402823466E+38 đến 3.402823466E+38 | Số thực nhỏ |
| DOUBLE (hoặc REAL, DOUBLE PRECISION) | -1.7976931348623157E+308 đến 1.7976931348623157E+308 | Số thực kích thước trung bình |
Ghi chú:
Bài viết này được đăng tại [free tuts .net]
DECIMAL(M, D):Mlà tổng số chữ số,Dlà số chữ số phần thập phân. NếuD = 0, giá trị sẽ được làm tròn thành số nguyên.
Kiểu dữ liệu đặc biệt
| Kiểu dữ liệu | Mô tả |
|---|---|
| BIT(M) | Kiểu dữ liệu nhị phân, số bit M tối đa là 64 |
Kiểu ngày và giờ (Date and Time Data Types) trong MariaDB
| Kiểu dữ liệu | Phạm vi | Định dạng | Mô tả |
|---|---|---|---|
| DATE | 1000-01-01 đến 9999-12-31 | YYYY-MM-DD |
Ngày |
| TIME | -838:59:59.999999 đến 838:59:59.999999 | HH:MM:SS |
Thời gian |
| DATETIME | 1000-01-01 00:00:00 đến 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS |
Ngày và giờ |
| TIMESTAMP | 1970-01-01 00:00:01 UTC đến 2038-01-19 03:14:07 UTC | YYYY-MM-DD HH:MM:SS |
Dấu thời gian, thường dùng để lưu thời gian cập nhật dữ liệu |
| YEAR | 1901 đến 2155 | YYYY |
Chỉ lưu năm |
Kiểu chuỗi (String Data Types) trong MariaDB
Kiểu chuỗi ngắn
| Kiểu dữ liệu | Độ dài tối đa | Mô tả |
|---|---|---|
| CHAR(M) | 0 - 255 ký tự | Chuỗi có độ dài cố định |
| VARCHAR(M) | 0 - 65,535 ký tự | Chuỗi có độ dài thay đổi |
Ghi chú:
- CHAR luôn có độ dài cố định, nếu dữ liệu ngắn hơn
M, nó sẽ tự động thêm dấu cách vào cuối. - VARCHAR chỉ sử dụng đúng số ký tự cần thiết, giúp tiết kiệm dung lượng.
Kiểu nhị phân
| Kiểu dữ liệu | Độ dài tối đa | Mô tả |
|---|---|---|
| BINARY(M) | 0 - 255 byte | Chuỗi nhị phân có độ dài cố định |
| VARBINARY(M) | 0 - 65,535 byte | Chuỗi nhị phân có độ dài thay đổi |
Kiểu BLOB và TEXT
| Kiểu dữ liệu | Độ dài tối đa | Mô tả |
|---|---|---|
| TINYBLOB | 255 byte | Lưu trữ dữ liệu nhị phân nhỏ |
| BLOB | 65,535 byte | Dữ liệu nhị phân lớn |
| MEDIUMBLOB | 16,777,215 byte | Dữ liệu nhị phân rất lớn |
| LONGBLOB | 4GB | Dữ liệu nhị phân cực lớn |
| TINYTEXT | 255 ký tự | Văn bản ngắn |
| TEXT | 65,535 ký tự | Văn bản trung bình |
| MEDIUMTEXT | 16,777,215 ký tự | Văn bản lớn |
| LONGTEXT | 4GB | Văn bản cực lớn |
Ghi chú:
TEXTvàBLOBkhông hỗ trợ INDEX trực tiếp, trừ khi dùng FULLTEXT INDEX.
Kiểu ENUM và SET
| Kiểu dữ liệu | Mô tả |
|---|---|
| ENUM('value1', 'value2', ...) | Một cột có giá trị cố định từ danh sách đã định trước |
| SET('value1', 'value2', ...) | Một cột có thể chứa một hoặc nhiều giá trị từ danh sách đã định trước (tối đa 64 giá trị) |
Ghi chú:
- ENUM chỉ chứa một giá trị từ danh sách.
- SET có thể chứa nhiều giá trị cùng lúc.
Kết bài
MariaDB cung cấp nhiều kiểu dữ liệu khác nhau phù hợp với nhiều nhu cầu khác nhau. Việc chọn đúng kiểu dữ liệu giúp tối ưu dung lượng lưu trữ và tăng hiệu suất truy vấn. Khi thiết kế cơ sở dữ liệu, hãy luôn xem xét:
- Sử dụng kiểu số nguyên thay vì kiểu số thực nếu không cần thiết.
- Dùng
CHARnếu chuỗi có độ dài cố định,VARCHARnếu độ dài thay đổi. - Sử dụng
TEXThoặcBLOBcho dữ liệu lớn. - Dùng
ENUMhoặcSETkhi dữ liệu có danh sách giới hạn các giá trị hợp lệ.
Việc chọn đúng kiểu dữ liệu ngay từ đầu giúp cơ sở dữ liệu hoạt động hiệu quả và ổn định hơn.

Thiết lập ID tăng tự động với Identity trong SQL Server
Khóa ngoại (Foreign Key) trong MySQL
Mô hình thực thể mối kết hợp (ER)
Gộp dữ liệu với UNION và UNION ALL trong SQL
Hàm Hàm TO_DATE trong Oracle
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng