Các Kiểu Dữ Liệu Thường Dùng Trong MySQL

Các kiểu số nguyên phổ biến nhất:
Kiểu cột MySQL         | Kiểu dữ liệu Java
----------------------|------------------
INT/INTEGER:          | int/Integer
BIGINT:               | long/Long

MySQL mở rộng tiêu chuẩn SQL bằng cách cho phép chỉ định chiều rộng hiển thị tùy chọn, giúp tự động điền khoảng trắng khi truy xuất giá trị từ cơ sở dữ liệu.
Ví dụ, khi chỉ định kiểu trường là INT(6), các giá trị có ít hơn 6 chữ số sẽ tự động được điền bằng khoảng trắng khi truy xuất.
Cần lưu ý rằng việc sử dụng chỉ thị chiều rộng không ảnh hưởng đến kích thước của trường và phạm vi giá trị nó có thể lưu trữ. Thông thường không cần chỉ định chiều rộng.
Ví dụ: age INT(2) không có nghĩa là age chỉ có thể lưu tối đa 99, mà khi truy xuất giá trị age, nó sẽ hiển thị với 2 chữ số (được điền bằng số 0 nếu cần).

Ví dụ: money DOUBLE(5,2) có nghĩa là tổng số chữ số là 5, trong đó có 2 chữ số thập phân. Giá trị tối đa là 999.99, giá trị tối thiểu là -999.99. Tuy nhiên, cả FLOAT và DOUBLE đều không đủ chính xác cho các tài chính quan trọng.

Kiểu dữ liệu tương ứng trong Java:

Kiểu cột MySQL Kiểu dữ liệu Java
FLOAT float/Float
DOUBLE double/Double
DECIMAL BigDecimal

Kiểu ký tự: CHAR(size): Chuỗi cố định độ dài, từ 0 - 255 byte, size chỉ định số ký tự. Nếu chuỗi được chèn dài hơn độ dài đã định, nó sẽ bị cắt bớt và cảnh báo được hiển thị. VARCHAR(size): Chuỗi biến độ dài, từ 0 - 255 byte (từ MySQL 5 trở đi hỗ trợ đến 65535 byte). Nếu chuỗi được chèn dài hơn độ dài đã định, nó sẽ bị cắt bớt và cảnh báo được hiển thị. Đối với việc lưu trữ lượng lớn văn bản, như nội dung bài viết thuần túy, nên sử dụng các kiểu thuộc họ TEXT.

Lưu ý: Trong MySQL, các giá trị ký tự được đặt trong dấu ngoặc đơn. Tương đương với kiểu String, StringBuilder/StringBuffer trong Java.


Các kiểu dữ liệu ngày và giờ trong MySQL bao gồm DATETIME, DATE, TIMESTAMP, TIME và YEAR. Lưu ý: Trong MySQL, các giá trị ngày giờ được đặt trong dấu ngoặc đơn. Tương đương với kiểu Date và Calendar trong Java.


Các kiểu nhị phân: BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB: Dùng để lưu trữ đối tượng nhị phân như hình ảnh, âm thanh và video, dung lượng từ 0-4GB. Tuy nhiên, trong quá trình phát triển, chúng ta thường chỉ lưu đường dẫn đến tệp nhị phân trong cơ sở dữ liệu thay vì lưu trực tiếp nội dung nhị phân.

BIT: Thường dùng để lưu trữ giá trị 0 hoặc 1, tương ứng với kiểu boolean/Boolean trong Java.




Định nghĩa kiểu dữ liệu chính là xác định các cột, kiểu dữ liệu quyết định đặc tính của dữ liệu.

Kiểu dữ liệu chủ yếu được chia thành kiểu chuỗi, kiểu số thực và số定点, kiểu ngày giờ, cùng với kiểu nhị phân.

Kiểu dữ liệu có thể biểu hiện khác nhau trên các bộ lưu trữ (storage engine) khác nhau.

Cần lựa chọn kiểu dữ liệu dựa trên yêu cầu và đặc điểm của dữ liệu.

Thẻ: mysql kiểu dữ liệu INT VARCHAR DECIMAL

Đăng vào ngày 5 tháng 6 lúc 18:18