Kiểu dữ liệu

Tạo một bảng

Chúng ta tạo một bảng như sau:

1
2
3
4
5
6
CREATE TABLE tên-table (
  cột-1 kiểu-dữ-liệu,
  cột-2 kiểu-dữ-liệu,
  cột-3 kiểu-dữ-liệu,
  ...
);

Các kiểu dữ liệu phổ biến của MySQL

Các kiểu dữ liệu phổ biến của MySQL được mô tả trong bảng sau:

Kiểu dữ liệu Mô tả
BOOLEAN Kiểu boolean có giá trị 1 là true, 0 là false
CHAR(size) Kích cỡ một string cố định, size nằm trong khoảng 0 đến 255.
VARCHAR(size) Một string với kích cỡ lớn nhất là size. Size nằm trong khoảng 0 đến 65535.
TEXT(size) Một string kích cỡ tới 65535 ký tự
MEDIUMTEXT Một string kích cỡ tới 16,777,215 ký tự
LONGTEXT Một string kích cỡ tới 4,294,967,295 ký tự
ENUM(val1, val2, …) Chọn một trong danh sách các string. Số lượng phần tử enum có thể là 65535
SET(val1, val2, …) Chọn một hoặc nhiều trong tập hợp của set.
INT (m) Số nguyên 32 bit
BIGINT (m) Số nguyên 64 bit
FLOAT Số thực 32 bit
FLOAT (p) Số thực 32 bit khi p từ 0 đến 24, nếu p từ 25 to 53 thì là số thực 64 bit
DOUBLE Số thực 64 bit
REAL Mặc định là số thực 64 bit, khi mode REAL_AS_FLOAT được bật thì nó là số thực 64 bit
DATE Lưu trữ ngày tháng năm
TIME Lưu trữ giờ phút giây
DATETIME Lưu trữ ngày tháng năm, giờ phút giây
TIMESTAMP Lưu trữ số lượng giây từ ‘1970-01-01 00:00:01’ UTC đến ‘2038-01-09 03:14:07’ UTC
JSON Kiểu dữ liệu JSON

Lưu ý với kiểu int(m) sẽ có số lượng ký tự hiển thị lớn nhất là m, tương tự với bigint(m). Ngoài các kiểu dữ liệu hay sử dụng này, MySQL còn hổ trợ các kiểu dữ liệu khác1.

Kiểu String

Kiểu string trong MySQL có thể sử dụng nháy đơn ' hoặc nháy kép " đều được.
Các ký tự đặc biệt được bắt đầu bằng dấu sổ ngược \, ví dụ \", \n, \%.

Kiểu DATE, DATETIME/TIMESTAMP

Kiểu DATE có phổ biến là format 'YYYY-MM-DD' và kiểu DATETIME/TIMESTAMP thường có format là 'YYYY-MM-DD hh:mm:ss'. Với hh số giờ từ 00 đến 23.

Kiểu TIME hay sử dụng format là 'hh:mm:ss'.

Kiểu BOOLEAN

Kiểu BOOLEAN true có thể nhận các hằng số TRUE, true, 1 và BOOLEAN false có thể nhận các hằng số FALSE, false, 0.


  1. Các kiểu dữ liệu của MySQL phiên bản 8.0 ↩︎