Ở bài trước, chúng ta đã biết MySQL sử dụng ngôn ngữ T-SQL để truy vấn và thao tác dữ liệu và chúng ta cũng đã biết mỗi Table sẽ chứa nhiều cột (column) và mỗi cột chúng ta phải xác định kiểu dữ liệu cho nó. Vậy, để xác định một bảng dữ liệu, chúng ta cần định nghĩa ra tập hợp các cột. Để định nghĩa các cột, cần 3 yếu tố sau:

  • Kiểu dữ liệu
  • Chiều dài tối đa
  • Các ràng buộc

Vậy, kiểu dữ liệu trong MySQL có khác gì với kiểu dữ liệu trong các ngôn ngữ lập trình. Cùng nhau tìm hiểu nhé.

1. Kiểu dữ liệu số

Trong MySQL hỗ trợ các kiểu dữ liệu dạng số như số nguyên (nguyên âm, nguyên dương). Ngoài ra MySQL còn hỗ trợ lưu trữ kiểu dữ liệu dạng BIT. Các kiểu dữ liệu số được mysql hỗ trợ như sau:

Kiểu dữ liệu

Mô tả

TINYINT

Kích thước rất nhỏ

SMALLINT

Kích thước nhỏ

MEDIUMINT

Kích thước vừa

INT

Kích thước chuẩn

BIGINT

Kích thước lớn

DECIMAL

Số cố định

FLOAT

Số có dấu chấm động

DOUBLE

Số có dấu chấm động lớn hơn

BIT

Kiểu BIT

2. Kiểu chuỗi (String Type)

Kiểu dữ liệu chuỗi cho phép người có thể lưu trữ một chuỗi ký tự bao gồm một dãy các kí tự các chữ cái hoặc chữ số và các kí tự đặc biệt. Sau đây là một số kiểu dữ liệu chuỗi được hỗ trợ:

Kiểu dữ liệu

Mô tả

CHAR

Có chiều dài cố định và không được phép lưu trữ ở dạng nhị phân

VARCHAR

Có chiều dài, khi khai báo cần xác định chiều dài. Không được phép lưu trữ ở dạng nhị phân.

BINARY

Chuỗi nhị phân có độ dài cố định

VARBINARY

Chuỗi nhị phân có độ dài thay đổi, cần xác định độ dài khi khai báo.

TINYBLOB

BLOB rất nhỏ

BLOB

BLOB nhỏ

MEDIUMBLOB

BLOB vừa

LONGBLOB

BLOB lớn

TINYTEXT

Chuỗi không nhị phân rất nhỏ

TEXT

Chuỗi không nhị phân nhỏ

MEDIUMTEXT

Chuỗi không nhị phân trung bình

LONGTEXT

Chuỗi không nhị phân lớn

ENUM

Kiểu dữ liệu Enum

SET

Bộ

3. Kiểu ngày tháng

MySQL hỗ trợ lưu trữ các kiểu dữ liệu liên quan đến thời gian nhằm giúp ta lưu trữ ngày tháng và thời gian một cách dễ dàng. Khi thao tác với kiểu dữ liệu thời gian, có thể truy vấn dữ liệu theo từng phần riêng lẻ như theo ngày, theo tháng và theo năm, hay thậm chi là truy vấn kết hơp cả ngày tháng năm.

Kiểu dữ liệu

Mô tả

DATE

Kiểu ngày tháng, định dạng YYYY-MM-DD

TIME

Kiểu thời gian, định dạng HH:MM:SS

DATETIME

Kiểu ngày tháng và thời gian, định dạng YYYY-MM-DD HH:MM:SS

TIMESTAMP

Kiểu ngày tháng và thời gian, định dạng YYYY-MM-DD HH:MM:SS

YEAR

Kiểu năm, định dạng YYYY

4. Các loại dữ liệu không gian (Spatial)

MySQL có hỗ trợ nhiều loại kiểu dữ liệu không gian liên quan đến đối tượng điểm(position), tọa độ và địa lý. Thông thường dữ liệu spatial được mysql hỗ trợ như sau:

Kiểu dữ liệu

Mô tả

GEOMETRY

Giá trị không gian

POINT

Một cặp điểm tọa độ X:Y

LINESTRING

Một tập hợp các điểm tạo thành đường cong

POLYGON

Một đa giác tạo thành từ các điểm

GEOMETRYCOLLECTION

Một dãy các GEOMETRY

MULTILINESTRING

Một dãy các đường cong

MULTIPOINT

Một day các điểm

MULTIPOLYGON

Một dãy các đa giác

5. KẾT LUẬN

Ở bài này, chúng tôi đã hướng dẫn các bạn về các kiểu dữ liệu trong T-SQL mà MySQL hỗ trợ. Các bạn cần nắm rõ các đặc điểm và kích thước của các kiểu dữ liệu để phục vụ cho việc thiết kế cấu trúc bảng sau này. Bài tiếp theo, chúng tôi sẽ giới thiệu với các bạn cách tạo ra cơ sở dữ liệu. Cố gắng nhé!

2 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here