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.