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! Show
Tìm hiểu về các kiểu dữ liệu trong MySQLKiểu dữ liệu là gì?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.
Vì sao phải xác định đúng kiểu dữ liệu?Việc xác định đúng các trường trong bản và chọn loại dữ liệu là rất quan trọng để tối ưu 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 nhất 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 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 tình 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ó bao gồm 11 kiểu dữ liệu. Ta có thể phân ra thành 3 kiểu dữ liệu chính bao gồm:
Không để bạn đợi lâu, chúng ta sẽ đi sâu vào việc tìm hiểu từng loại kiểu dữ liệu trong MySQL nhé! 3 kiểu dữ liệu trong MySQLKiểu dữ liệu số trong MySQLTrong hệ cơ sở dữ liệu MySQL, các kiểu dữ liệu chuẩn như Int, Smallint, Integer,… đều được hỗ trợ. Ngoài ra, MySQL còn hỗ trợ nhiều loại dữ liệu số nguyên khác như: TINYINT, MEDIUMINT, và BIGINT. Để rõ hơn, bạn tham khảo 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ênTê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 TypesKiể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.402823466E+38 -1.175494351E-38 1.175494351E-38 3.402823466E+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 TypesKiểu dữ liệu dấu chấm cố định được sử dụng nhằm để đảm độ chính xác của dữ liệu, thường sẽ được sử dụng cho các đơn vị như tiền tệ. Chúng ta có 2 kiểu chính là:
Kiểu dữ liệu Bit – Bit Value TypesKiể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. QUẢNG CÁO Kiểu số và kiểu thuộc tínhĐây là kiểu dữ liệu mở rộng 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 bao gồm:
Kiểu dữ liệu Date and Time trong MySQLKiể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 gian sẽ được hiển thị theo định dạng inCCYY-MM-DD hh:mm:ss TIMESTAMP Dấu thời gian 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 MySQLVới kiểu dữ liệu String – chuỗi, chúng ta sẽ có những kiểu dữ liệu phổ biến như sau:
Trước tiên, chúng ta sẽ tìm hiểu về CHAR và VARCHAR. CHAR và VARCHARVề mặt dữ liệu, CHAR và VARCHAR là giống nhau. Tuy nhiên, chúng khác nhau ở cách lưu trữ cũng như truy xuất dữ liệu. Điểm khác biệt lớn nhất giữa CHAR và VARCHAR bạn có thể thấy là thông qua khoảng trống.
Ví dụ: TinoHost =>có bán Hosting giá rẻ. Với CHAR, khoảng trắng phía trước sẽ bị loại bỏ.
Ví dụ: TinoHost => có bán Hosting giá rẻ. VARCHAR có cách lưu trữ giống như bình thường. Kiểu dữ liệu BINARY và VARBINARYKiể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 các chuỗi nhị phân.
Kiểu dữ liệu BLOB và TEXTCuối cùng, chúng ta có kiểu dữ liệu BLOB và TEXT.
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à chúng ta đã cùng nhau tìm hiểu về các kiểu dữ liệu trong MySQL rồi. Nếu bạn muốn t tìm hiểu chi tiết thêm về 11 kiểu dữ liệu được nhắc đến trong bài viết, bạn có thể tham khảo tài liệu chính thức của MySQL nhé! Chúc bạn thành công với sự nghiệp quản trị cơ sở dữ liệu. FAQs về các kiểu dữ liệu trong MySQLMariaDB 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 thực hiện do lo sợ việc sau khi bị Oracle mua lại MySQL, cơ sở dữ liệu này sẽ không còn miễn phí nữa. Nên sử dụng MariaDB và MySQL?Về mặt chi phí, MariaDB vẫn sẽ đảm bảo trong tương lai vẫn là mã nguồn mở miễn phí. Tuy nhiên, đối với MySQL, Oracle sẽ có thể thay đổi chính sách sử dụng bất cứ lúc nào và dĩ nhiên là bạn sẽ phải chọn giải pháp “cắn răng chịu trả phí” hoặc chuyển đổi nền tảng sử dụng. Về mặt chức năng, bạ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ề công dụng nhé! Làm sao để chuyển MySQL sang Mariadb DirectAdmin?Nếu trong tương lai MySQL thay đổi chính sách sử dụng thật, bạn có thể lựa chọn việc thay đổi nền tảng. Tuy việc này sẽ mất thời gian, công sức nhưng tiền bạc sẽ được cắt giảm rất nhiều. Bạn có thể lựa chọn việc chuyển đổ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 có thể tham khảo bài viết hướng dẫn của Tino Group tại đây. Làm sao để fix các lỗi MySQL trong WordPress?Nếu bạn đang gặp các vấn đề trong WordPress liên quan đến MySQL, tn có rất nhiều bài viết để hỗ trợ các bạn đấy! Ví dụ như: |