Tổng hợp các kiểu dữ liệu trong MySQL

Khi sử dụng MySQL, bạn sẽ phải làm việc rất nhiều với dữ liệu. Mỗi hệ cơ sở dữ liệu sẽ có một số điểm khác nhau. Nếu bạn đang muốn tìm hiểu về các kiểu dữ liệu trong MySQL, bài viết này là dành riêng cho bạn!

Tìm hiểu về các kiểu dữ liệu trong MySQL

Kiểu dữ liệu hay Data type là một quy trình/ quy ước về cấu trúc, miền giá trị của data có thể nhập vào và những phép toán, toán tử có thể tác động lên miền giá trị của data đó. Mỗi ngôn ngữ lập trình sẽ tuân theo quy định của riêng. Và mỗi dữ liệu sẽ có một kiểu dữ liệu khác nhau.

  • Các kiểu dữ liệu được xây dựng trên tiêu chuẩn của ANSI/ISO cung cấp
  • Có tổng số 16/143 kiểu dữ liệu thông dụng được sử dụng trong các hệ quản trị cơ sở dữ liệu thương mại.
  • Dạng dữ liệu mỗi Trường – Column được chỉ định sẽ thể hiện thuộc tính của dữ liệu.
  • Kiểu dữ liệu sẽ quyết định kích thước bộ nhớ dữ liệu trường có thể sử dụng.

cac-kieu-du-lieu-trong-mysql

Vì sao phải xác định đúng kiểu dữ liệu?

Việc xác lập đúng những trường trong bản và chọn loại dữ liệu là rất quan trọng để tối ưu toàn diện và tổng thể cơ sở dữ liệu của bạn. Ví dụ, nếu bạn có một dữ liệu cần rộng tối thiểu 10 ký tự nhưng bạn lại chọn kiểu dữ liệu chỉ chứa 2 ký tự. Điều này sẽ dẫn đến rất nhiều sự cố trong lúc quản lý và vận hành. Ngược lại, nếu một trường chỉ cần rộng 2 ký tự nhưng bạn lại chọn loại dữ liệu rộng 10 ký tự sẽ dẫn đến thực trạng quá tải hệ dữ liệu .

Các kiểu dữ liệu trong MySQL là gì?

Tài liệu chính thức của MySQL có gồm có 11 kiểu dữ liệu. Ta hoàn toàn có thể phân ra thành 3 kiểu dữ liệu chính gồm có :

  • Kiểu dữ liệu số – Number
  • Kiểu dữ liệu Date and Time – ngày và thời gian
  • Kiểu dữ liệu String – chuỗi

Không để bạn đợi lâu, tất cả chúng ta sẽ đi sâu vào việc khám phá từng loại kiểu dữ liệu trong MySQL nhé !
cac-kieu-du-lieu-trong-mysql

3 kiểu dữ liệu trong MySQL

Kiểu dữ liệu số trong MySQL

Trong hệ cơ sở dữ liệu MySQL, những kiểu dữ liệu chuẩn như Int, Smallint, Integer, … đều được tương hỗ. Ngoài ra, MySQL còn tương hỗ nhiều loại dữ liệu số nguyên khác như : TINYINT, MEDIUMINT, và BIGINT .
Để rõ hơn, bạn tìm hiểu thêm bảng sau với nội dung giá trị lớn nhất, nhỏ nhất, có dấu và không dấu nhé !

Bảng dữ liệu kiểu số nguyên

Tên kiểu dữ liệu

Độ dài

(số byte)

Giá trị nhỏ nhất

(Có dấu)

Giá trị lớn nhất

(Có dấu)

Giá trị nhỏ nhất

(Không dấu)

Giá trị lớn nhất

(Không dấu)

TINYINT 1 – 128 127 0 255
SMALLINT 2 – 32768 32767 0 65535
MEDIUMINT 3 – 8388608 8388607 to 0 16777215
INT 4 – 2147483648 2147483647 0 4294967295
BIGINT 8 – 9223372036854775808 92233720368
54775807
0 184467440737
09551615

Bảng dữ liệu kiểu dấu chấm động – Floating-Point Types

Kiểu dữ liệu

Độ dài

(Số Bytes)

Giá trị nhỏ nhất

(Có dấu)

Giá trị lớn nhất

(Có dấu)

Giá trị nhỏ nhất

(Không dấu)

Giá trị lớn nhất

(Không dấu)

FLOAT 4 – 3.402823466 E + 38 – 1.175494351 E – 38 1.175494351 E – 38 3.402823466 E + 38
DOUBLE

8

– 1.7976931348623
157E + 308
– 2.22507385850720
14E – 308
0, and
2.22507385850720
14E – 308
1.797693134862315
7E + 308

Kiểu dấu chấm cố định – Fixed-Point Types

Kiểu dữ liệu dấu chấm cố định và thắt chặt được sử dụng nhằm mục đích để đảm độ đúng chuẩn của dữ liệu, thường sẽ được sử dụng cho những đơn vị chức năng như tiền tệ .
Chúng ta có 2 kiểu chính là :

  • DECIMAL: lưu dữ liệu theo kiểu nhị phân, có độ dài tối đa là 65.
  • NUMERIC: lưu chính xác các dữ liệu số, có độ dài trong phạm vi từ -999.99 tới 999.99.

Kiểu dữ liệu Bit – Bit Value Types

Kiểu dữ liệu Bit thường được sử dụng để lưu trường giá trị bit. Phạm vi của Bit từ 1 đến 64 .

Kiểu số và kiểu thuộc tính

Đây là kiểu dữ liệu lan rộng ra được cho phép tùy chỉnh độ dài hiển thị trong ngoặc ngay sau từ khóa .
Chúng ta có 2 kiểu dữ liệu chính gồm có :

  • TYPE(N): N là một số nguyên và cho phép chứa N chữ số.
  • ZEROFILL: các khoảng đệm sẽ được thay thế bằng số 0. Ví dụ như: INT(5) ZEROFILL, số 5 sẽ được hiển thị là 00005.

Kiểu dữ liệu Date and Time trong MySQL

Kiểu dữ liệu Date and Time Mô tả
DATE ngày sẽ được hiển thị theo dạng CCYY-MM-DD
TIME Thời gian sẽ được hiển thị theo định dạng hh : mm : ss
DATETIME Ngày và thời hạn sẽ được hiển thị theo định dạng inCCYY-MM-DD hh : mm : ss
TIMESTAMP Dấu thời hạn sẽ có giá trị định dạng là : CCYY-MM-DD hh : mm : ss
YEAR Giá trị của năm sẽ được hiển thị theo định dạng CCYY hoặc YY format

Kiểu dữ liệu String trong MySQL

Với kiểu dữ liệu String – chuỗi, tất cả chúng ta sẽ có những kiểu dữ liệu thông dụng như sau :

  • CHAR
  • VARCHAR
  • BINARY
  • VARBINARY
  • BLOB
  • TEXT
  • ENUM
  • SET

Trước tiên, tất cả chúng ta sẽ khám phá về CHAR và VARCHAR .

CHAR và VARCHAR

Về mặt dữ liệu, CHAR và VARCHAR là giống nhau. Tuy nhiên, chúng khác nhau ở cách tàng trữ cũng như truy xuất dữ liệu .
Điểm độc lạ lớn nhất giữa CHAR và VARCHAR bạn hoàn toàn có thể thấy là trải qua khoảng trống .
cac-kieu-du-lieu-trong-mysql

  • CHAR: chứa chuỗi không phải nhị phân và có độ dài cố định khi bạn thực hiện khai báo, có giá trị từ 0 – 255.

Ví dụ : TinoHost => có bán Hosting giá rẻ. Với CHAR, khoảng chừng trắng phía trước sẽ bị vô hiệu .

  • VARCHAR: chữa chuỗi không phải nhị phân và cột là chuỗi có chiều dài thay đổi, có giá trị từ 0 đến 65,535.

Ví dụ : TinoHost => có bán Hosting giá rẻ. VARCHAR có cách tàng trữ giống như thông thường .

Kiểu dữ liệu BINARY và VARBINARY

Kiểu dữ liệu BINARY và VARBINARY giống như CHAR và VARCHAR ngoại trừ việc 2 kiểu dữ liệu BINARY và VARBINARY chứa những chuỗi nhị phân .

  • BINARY: giá trị từ 0 tới 255
  • VARBINARY: giá trị từ 0 tới 255 đối với MySQL trước 5.0.3, với MySQL phiên bản 5.0.3 trở lên, giá trị lưu trữ là từ 0 đến 65,535

Kiểu dữ liệu BLOB và TEXT

Cuối cùng, tất cả chúng ta có kiểu dữ liệu BLOB và TEXT .

  • Kiểu dữ liệu BLOB: có chứa một lượng dữ liệu lớn.
  • Kiểu dữ liệu TEXT: tương tự với BLOB và lưu trữ giá trị được coi như một chuỗi các ký tự có mã hóa.

Với cả 2 kiểu dữ liệu này sẽ có tương ứng 4 loại con với độ dài khác nhau .

Tên kiểu dữ liệu

Loại

Độ dài

BLOB TINYBLOB Chiều dài tối đa là 255 ký tự .
MEDIUMBLOB Chiều dài tối đa là 16777215 ký tự .
LONGBLOB Chiều dài tối đa là 4294967295 ký tự
TEXT TINYBLOB Chiều dài tối đa là 255 ký tự .
MEDIUMBLOB Chiều dài tối đa là 16777215 ký tự .
LONGBLOB Chiều dài tối đa là 4294967295 ký tự .

Vậy là tất cả chúng ta đã cùng nhau khám phá về những kiểu dữ liệu trong MySQL rồi. Nếu bạn muốn t tìm hiểu và khám phá chi tiết cụ thể thêm về 11 kiểu dữ liệu được nhắc đến trong bài viết, bạn hoàn toàn có thể tìm hiểu thêm tài liệu chính thức của MySQL nhé ! Chúc bạn thành công xuất sắc với sự nghiệp quản trị cơ sở dữ liệu .

FAQs về các kiểu dữ liệu trong MySQL

MariaDB và MySQL có liên hệ gì với nhau hay không?

Trước tiên, MariaDB là một phiên bản nhánh mã nguồn mở của MySQL do chính nhà sáng lập của MySQL triển khai do lo ngại việc sau khi bị Oracle mua lại MySQL, cơ sở dữ liệu này sẽ không còn không tính tiền nữa .

Nên sử dụng MariaDB và MySQL?

Về mặt ngân sách, MariaDB vẫn sẽ bảo vệ trong tương lai vẫn là mã nguồn mở không tính tiền. Tuy nhiên, so với MySQL, Oracle sẽ hoàn toàn có thể đổi khác chủ trương sử dụng bất kể khi nào và đương nhiên là bạn sẽ phải chọn giải pháp “ cắn răng chịu trả phí ” hoặc quy đổi nền tảng sử dụng. Về mặt công dụng, bạn hoàn toàn có thể xem thêm về bài viết So Sánh MariaDB và MySQL của Tino Group để hiểu thêm về hiệu quả nhé !

Làm sao để chuyển MySQL sang Mariadb DirectAdmin?

Nếu trong tương lai MySQL biến hóa chủ trương sử dụng thật, bạn hoàn toàn có thể lựa chọn việc đổi khác nền tảng. Tuy việc này sẽ mất thời hạn, sức lực lao động nhưng tiền tài sẽ được cắt giảm rất nhiều. Bạn hoàn toàn có thể lựa chọn việc quy đổi dữ liệu từ MySQL sang Mariadb DirectAdmin cũng là một giải pháp rất tối ưu đấy ! Bạn hoàn toàn có thể tìm hiểu thêm bài viết hướng dẫn của Tino Group tại đây .

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
    Văn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh
  • Điện thoại: 0364 333 333
    Tổng đài miễn phí: 1800 6734
  • Email: [email protected]
  • Website: www.tino.org