Trang chủ » Kiến thức » Các kiểu dữ liệu trong MySQL

Các kiểu dữ liệu trong MySQL

Admin

Khi thực hiện dự án phần mềm, ứng dụng hoặc website thì MySQL chính là kiểu dữ liệu được ưa chuộng và sử dụng phổ biến nhất hiện nay. Để có thể áp dụng và sử dụng chính xác các ứng dụng của MySQL thì nắm các thông tin về kiểu dữ liệu là bước quan trọng không thể bỏ qua, khi nó chính là yếu tố giúp tối ưu hóa phần dữ liệu của bạn. Vậy các kiểu dữ liệu trong MySQl bao gồm những gì? Hãy theo dõi trong bài viết sau đây của Daotaotester.com nhé!

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

Kiểu dữ liệu là gì?

Kiểu dữ liệu là quá trình phân loại các dữ liệu và biên dịch các loại dữ liệu đó để có thể hiểu được ngôn ngữ lập trình viên đang sử dụng. 

Hiện nay, các kiểu dữ liệu được viết dưới nhiều kiểu khác nhau như dưới dạng số nguyên, số bun hay số thực. 

Để dễ hiểu hơn thì bạn có thể quan sát vào ví dụ sau đây:

Trong quá trình đăng ký tài khoản trên mạng xã hội Facebook thì bạn sẽ phải hoàn tất các thông tin cơ bản như ngày sinh, số điện thoại, họ tên. Và kiểu dữ liệu của nó được thể hiện:

– Với họ và tên, thông thường sẽ viết theo 1 chuỗi ký tự nên có kiểu dữ liệu là kiểu chuỗi (trong MySQL còn được gọi là kiểu Varchar)

– Cột ngày sinh sẽ xếp vào kiểu dữ liệu ngày tháng (trong MySQL còn được gọi là kiểu Date and Time)

– Số điện thoại sẽ được xếp vào kiểu số nguyên do nó được thể hiện dưới dạng là 1 dãy số tự nhiên. 

thế nào là kiểu dữ liệu trong MySQL

MySQL là gì?

MySQL là hệ thống RDBMS –  Relational Database Management System hay còn gọi hệ thống cơ sở dữ liệu quản trị với mã nguồn mở. Chúng hoạt động dưới hình thức Client – Server. 

Hiểu đơn giản thì MySQL chính là dịch vụ hay phần mềm với chức năng chính là giúp quản lý cơ sở dữ liệu dựa trên phương pháp quản lý các mối quan hệ giữa chúng. 

Hiện nay, với nhiều tính năng hữu ích và độ phổ biến cao chính vì thế MySQL thường xuyên được sử dụng để lưu trữ dữ liệu trên nhiều nền tảng mạng xã hội lớn hiện nay như Facebook, Youtube, Twitter….

Hơn thế nữa giờ đây hệ thống quản lý dữ liệu MySQL còn tương thích với nhiều hệ điều hành khác nhau như MacOS, Linux, Windows, Ubuntu.

kiểu dữ liệu trong MySQL

Các kiểu dữ liệu trong mySQL

Với độ phổ biến của MySQL như hiện nay, kiểu dữ liệu trong MySQL được sử dụng nhiều nhất có thể kể tới kiểu dữ liệu số, kiểu dữ liệu Date and Time và cuối cùng là kiểu dữ liệu dạng chuỗi. 

Vậy quy định cụ thể của từng kiểu dữ liệu trong MySQL này ra sao? Hãy theo dõi các thông tin cụ thể được chia sẻ trong phần dưới đây nhé!

Kiểu dữ liệu số (Numeric Data Types)

Kiểu dữ liệu số nguyên

SMALLINT và INTEGER chính là 2 kiểu dữ liệu trong MySQL dạng số nguyên tiêu chuẩn và được sử dụng phổ biến nhất trong MySQL. Bên cạnh đó hệ thống dữ liệu MySQL cũng cung cấp tới người dùng nhiều kiểu số nguyên khác như MEDIUMINT, BIGINT, TINYINT. 

kiểu dữ liệu trong MySQL viết dưới dạng số nguyên

Và mỗi kiểu dữ liệu sẽ mang tới cho người dùng 1 không gian lưu trữ dữ liệu riêng:

– TINYINT

  • Lưu trữ dữ liệu tối đa là 8 bit (1 byte)
  • Dữ liệu có dấu tối đa là -128 – 127 giá trị 
  • Dữ liệu không dấu được sử dụng từ 0 – 255

– SMALLINT

  • Lưu trữ dữ liệu với độ dài là 2 byte (16 bit)
  • Dữ liệu có dấu được lưu trữ là -32768 – 32767
  • Dữ liệu không dấu được lưu trữ là  0 – 65535
Số nguyên - kiểu dữ liệu trong MySQL

MEDIUMINT

  • Lưu trữ dữ liệu với độ dài là 3 byte
  • Số dữ liệu có dấu -8388608 – 8388607
  • Số dữ liệu không dấu 0 – 16777215

– INTEGER

  • Độ dài dữ liệu 4 byte
  • Lưu trữ dữ liệu có dấu với giá trị là -2147483648 – 2147483647
  • Lưu trữ dữ liệu không dấu với giá trị là  0 – 4294967295

BIGINT

  • Độ dài dữ liệu là 8 byte
  • Giá trị lưu trữ có dấu là -9223372036854775808 – 92233720368 54775807
  • Giá trị lưu trữ không dấu là 0 – 184467440737 09551615

Kiểu dữ liệu số thực

Kiểu dữ liệu trong MySQL dưới dạng số thực thông thường được thể hiện qua DOUBLE và  FLOAT, đây chính là 2 giá trị sẽ giúp các giá trị của số thực được mô tả gần đúng nhất. 

Thêm vào đó, kiểu dữ liệu trong MySQL thường sử dụng 4 byte cho FLOAT và 8 byte cho  DOUBLE.

– Với FLOAT thì gồm 2 thành phần là M và D trong đó:

+ M biểu hiện cho độ dài của giá trị phần nguyên.

+ D biểu hiện cho độ dài của giá trị phần thập phân. 

+ Độ dài lưu trữ dữ liệu là 4 byte tương đương với 32 bit.

+ Dữ liệu lưu trữ có dấu là -3.402823466E+38 – -1.175494351E-38

+ Dữ liệu lưu trữ không dấu là 1.175494351E-38 – 3.402823466E+38.

kiểu dữ liệu trong MySQL dưới dạng số thực

– Với DOUBLE cũng bao gồm 2 thành phần là M, D với cách biểu hiện giống với Float nhưng:

+ Độ dài lưu trữ cho phép là 8 byte tương đương với 64 bit

+ Lưu trữ dữ liệu có dấu: -1.7976931348623157E+ 308 – -2.2250738585072014E – 308.

+ Lưu trữ dữ liệu không dấu: 0 and 2.2250738585072014E- 308 – 1.7976931348623157E+ 308.

Kiểu dữ liệu DECIMAL và NUMERIC

Với kiểu dữ liệu trong MySQL được thể hiện dưới dạng DECIMAL và NUMERIC thì thường được biểu hiện dưới dạng số theo định dạng dữ liệu nhị phân. Chính vì thế với định dạng này thường được áp dụng trong dữ liệu có liên quan tới đơn giá và tiền tệ. 

Ví dụ: Decimal (6,3) có nghĩa là lưu trữ trong không gian gồm 6 giá trị là chữ số và 3 giá trị còn lại là số thập phân. 

kiểu dữ liệu trong MySQL dạng decimal

Kiểu dữ liệu Date and Time

Với kiểu dữ liệu trong MySQL được biểu hiện dưới dạng ngày tháng thì gồm có 4 kiểu chính là  DATE, DATETIME, TIMESTAMP, YEAR.

Cụ thể từng kiểu dữ liệu như sau: 

Kiểu dữ liệu DATE

  • Được sử dụng để mô tả các thông tin nói về ngày tháng với định dạng mặc định là YYYY – MM – DD.
  • Sử dụng trong khoảng thời gian cho phép từ ‘1000-01-01 00:00:00’ cho tới ‘9999-12-31’.

Kiểu dữ liệu DATETIME

  • Là kiểu dữ liệu biểu hiện cho cả ngày tháng và thời gian với định dạng cụ thể là YYYY – MM – DD HH:MM:SS.
  • Với thời gian trong khoảng từ ‘1000-01-01 00:00:00’ đến ‘9999-12-31 23:59:59’.

Kiểu dữ liệu TIMESTAMP

  • Được dùng khi cần phải sử dụng đến giá trị lưu trữ thời gian. Theo định dạng HH:MM:SS.
  • Thời gian quy định trong phạm vi  ‘-838:59:59’ đến ‘838:59:59’.
kiểu dữ liệu trong MySQL

Nhưng bạn cũng nên lưu ý về phần thời gian này có thể khác đi do nó không chỉ mô tả về thời gian trong vòng 24h mà nó còn mô tả về thời gian dài hơn trong khoảng này. Chính vì thế bạn có thể thấy giá trị của thời gian trong trường hợp này sẽ mang giá trị âm. 

Điểm phân biệt giữa TIMESTAMP và DATETIME chính là thời gian của TIMESTAMP có thể trong quá trình lưu trữ sẽ được chuyển đổi sang múi giờ UTC và ngược lại lúc chuyển ra nó sẽ trở về thời gian mặc định ban đầu. 

Kiểu dữ liệu YEAR

Đây chính là kiểu dữ liệu trong MySQL được mô tả đơn giản nhất khi nó chỉ cần 1 byte là đã có thể mô tả được giá trị dữ liệu. Trong đó:

YEAR(2) 

  • Quy định rõ ràng phần hiển thị là 2 ký tự 
  • Thông thường sẽ hiển thị mặc định dưới dạng 2 số cuối cùng trong năm với phạm vi trong khoản từ 0 – 99. 

YEAR(4)

  • Đúng với cái tên thì đối với dữ liệu này đã chỉ định rõ kiểu hiển thị tối đa là 4 ký tự. 
  • Định dạng chính dưới dạng YYYY trong phạm vi thời gian từ ‘1901’ đến ‘2155’

Kiểu chuỗi (String Types)

Với kiểu dữ liệu trong MySQL dưới dạng chuỗi sẽ bao gồm 7 định dạng dữ liệu chính đó là: CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM.

Kiểu dữ liệu CHAR và VARCHAR

Có giá trị sử dụng giống nhau nhưng điểm khác biệt giữa chúng đó là quá trình lưu dữ liệu và truy xuất dữ liệu. Bên cạnh đó bạn cũng có thể phân biệt chúng dựa vào độ dài tối đa và khoảng trắng ở phía trước. 

CHAR:

Với định dạng xóa bỏ ký tự về khoảng trắng phía trước và được biểu hiện trong phạm vi từ 0 đến 255.

VARCHAR:

Được hiển thị giống với dạng data khi lưu trữ hoặc trong khi chưa được nhập. Với phạm vi từ 0 – 65535.

Varchar kiểu dữ liệu trong MySQL

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

Đây là kiểu ký tự giống với cặp ký tự trên nhưng chúng chứa thêm giá trị có trong chuỗi ký tự nhị phân.

– BINARY có chứa chuỗi giá trị nhị phân được biểu hiện trong khoảng từ 0 – 255.

– VARBINARY cũng chứa các chuỗi giá trị nhị phân và được biểu hiện trong khoảng từ 0 – 65535. 

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

Bao gồm chuỗi nhị phân khủng kèm theo đó là khối lượng dữ liệu khủng cụ thể: 

BLOB gồm 4 thành phần chính là:

  • TINYBLOB với số ký tự được sử dụng nhiều nhất là 255 ký tự. 
  • BLOB
  • MEDIUMBLOB với số ký tự cho phép là 16777215 ký tự
  • Cuối cùng là LONGBLOB với độ dài ký tự được sử dụng là  4294967295 ký tự

TEXT cũng là chuỗi ký tự được mã hóa với 4 lại TEXT được sử dụng tương ứng với 4 loại BLOX là:

  • TINYTEXT
  • TEXT
  • MEDIUMTEXT
  • LONGTEXT 

Kiểu dữ liệu ENUM

Đây là kiểu dữ liệu cuối cùng trong kiểu dữ liệu dạng chuỗi. Với định dạng này cơ sở dữ liệu sẽ đưa ra 1 danh sách các đối tượng và trường dữ liệu này phải tiếp nhận. 

Ví dụ: Nếu bạn muốn trường dữ liệu nhận các giá trị có trong “X”, “Y” hoặc “Z” thì bắt buộc ENUM phải được thể hiện dưới dạng ENUM (“X”, “Y” hoặc “Z”).

Trên đây là toàn bộ các thông tin có liên quan tới kiểu dữ liệu trong MySQL mà chúng tôi muốn chia sẻ tới bạn. Mong rằng bài viết trên hữu ích tới bạn giúp bạn có thể tiếp nhận thêm nhiều kiến thức bổ ích liên quan đến MySQL và kiểu dữ liệu của nó để phục vụ tốt hơn cho việc học tập và dự án cá nhân. 

5/5 - (5 bình chọn)
Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone