MySQL hỗ trợ nhiều loại dữ liệu khác nhau, được phân loại thành các nhóm chính sau đây:
1. Các loại dữ liệu số
- INT: Số nguyên (4 bytes).
- TINYINT: Số nguyên nhỏ (1 byte).
- SMALLINT: Số nguyên nhỏ hơn (2 bytes).
- MEDIUMINT: Số nguyên trung bình (3 bytes).
- BIGINT: Số nguyên lớn (8 bytes).
- FLOAT: Số thực (4 bytes).
- DOUBLE: Số thực gấp đôi (8 bytes).
- DECIMAL(M, D): Số thực chính xác, với M là tổng số chữ số và D là số chữ số sau dấu phẩy.
2. Các loại dữ liệu chuỗi
- CHAR(M): Chuỗi ký tự cố định, với M là độ dài tối đa (1-255).
- VARCHAR(M): Chuỗi ký tự biến đổi, với M là độ dài tối đa (1-65535).
- TEXT: Chuỗi văn bản dài (tối đa 65,535 ký tự).
- TINYTEXT: Chuỗi văn bản ngắn (tối đa 255 ký tự).
- MEDIUMTEXT: Chuỗi văn bản trung bình (tối đa 16,777,215 ký tự).
- LONGTEXT: Chuỗi văn bản rất dài (tối đa 4,294,967,295 ký tự).
- BINARY(M): Dữ liệu nhị phân cố định.
- VARBINARY(M): Dữ liệu nhị phân biến đổi.
- BLOB: Dữ liệu nhị phân lớn.
- TINYBLOB: Dữ liệu nhị phân rất nhỏ.
- MEDIUMBLOB: Dữ liệu nhị phân trung bình.
- LONGBLOB: Dữ liệu nhị phân rất lớn.
3. Các loại dữ liệu ngày và giờ
- DATE: Ngày (từ '1000-01-01' đến '9999-12-31').
- DATETIME: Ngày và giờ (từ '1000-01-01 00:00:00' đến '9999-12-31 23:59:59').
- TIMESTAMP: Dấu thời gian (từ '1970-01-01 00:00:01' UTC đến '2038-01-19 03:14:07' UTC).
- TIME: Thời gian (từ '-838:59:59' đến '838:59:59').
- YEAR: Năm (từ 1901 đến 2155).
4. Các loại dữ liệu khác
- ENUM: Danh sách giá trị cố định (ví dụ:
ENUM('value1', 'value2')
).
- SET: Tập hợp giá trị cố định (ví dụ:
SET('value1', 'value2')
).
Lưu ý
- Các loại dữ liệu khác nhau phù hợp với các loại ứng dụng và yêu cầu lưu trữ khác nhau.
- Việc chọn loại dữ liệu phù hợp có thể ảnh hưởng đến hiệu suất và khả năng mở rộng của ứng dụng.