MARIADB USEFUL RESOURCES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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ố 0 vào bên trái số nguyên để đạt độ dài M đã 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): M là tổng số chữ số, D là số chữ số phần thập phân. Nếu D = 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ú:

  • TEXTBLOB khô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 CHAR nếu chuỗi có độ dài cố định, VARCHAR nếu độ dài thay đổi.
  • Sử dụng TEXT hoặc BLOB cho dữ liệu lớn.
  • Dùng ENUM hoặc SET khi 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.

Cùng chuyên mục:

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Dãy số (Sequences) trong MariaDB

Dãy số (Sequences) trong MariaDB

Table Cloning trong MariaDB

Table Cloning trong MariaDB

Bảng tạm (Temporary Tables) trong MariaDB

Bảng tạm (Temporary Tables) trong MariaDB

Indexes & Statistics Tables trong MariaDB

Indexes & Statistics Tables trong MariaDB

Alter Command trong MariaDB

Alter Command trong MariaDB

Transactions trong MariaDB

Transactions trong MariaDB

Biểu thức chính quy trong MariaDB

Biểu thức chính quy trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Câu lệnh DELETE trong MariaDB

Câu lệnh DELETE trong MariaDB

Câu lệnh UPDATE trong MariaDB

Câu lệnh UPDATE trong MariaDB

Mệnh đề WHERE trong MariaDB

Mệnh đề WHERE trong MariaDB

Tìm hiểu Select Database trong MariaDB

Tìm hiểu Select Database trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu (Database) trong MariaDB

Tạo cơ sở dữ liệu (Database) trong MariaDB

Cú pháp PHP trong MariaDB

Cú pháp PHP trong MariaDB

Top