Chi tiết bài viết

Khi phát triển các dự án, phần mềm và website thì kiểu dữ liệu MYSQL là dữ liệu được ưa chuộng nhất. Để vận hành và áp dụng chính xác dữ liệu thông tin mà MYSQL cung cấp thì nhân viên lập trình cũng như nhân viên kiểm thử cần có kiến thức mà các loại dữ liệu này mang lại. Chúng chính là yếu tố tối ưu hóa phần dữ liệu của dự án. Các kiểu dữ liệu trong MYSQL gồm những gì? Bài viết dưới đây của Daotaotester.vn sẽ cung cấp đầy đủ kiến thức cho bạn. 

3 kiểu dữ liệu trong MYSQL phổ biến nhất trong khoa học máy tính.
3 kiểu dữ liệu trong MYSQL phổ biến nhất trong khoa học máy tính.

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

Kiểu dữ liệu được hiểu rộng ra là quá trình phân loại dữ liệu và biên dịch các dữ liệu từ những ngôn ngữ lập trình bậc cao mà lập trình viên sử dụng. 

Hiện nay có rất nhiều kiểu dữ liệu khác nhau mà lập trình viên đang sử dụng như các dạng số nguyên, ngày và thời gian, hay dạng dữ liệu kiểu chuỗi. Mỗi một kiểu dữ liệu sử dụng đều có mục đích khác nhau. Ví dụ như để đăng ký tài khoản gmail, bạn cần phải điền đầy đủ thông tin cơ bản như: Họ và tên, Số điện thoại, ngày tháng năm sinh…

  • Với phần họ và tên, thông thường dữ liệu được nhập vào là 1 chuỗi ký tự chữ cái, đây còn gọi là các ký tự dạng chuỗi.
  • Với mục số điện thoại: sẽ là kiểu dữ liệu số nguyên do số điện thoại thường là 1 dãy số nguyên từ 9 – 10 chữ số.
  • Ngày, tháng, năm sinh: cũng như tên gọi sẽ được định dạng dưới dạng kiểu dữ liệu date and time bên trong Mysql.

Như vậy có thể hiểu, kiểu dữ liệu là quá trình thông dịch những thông tin mà người sử dụng muốn nhập vào sang dạng ngôn ngữ lập trình để máy tính có thể hiểu và thực hiện.

>>> Có thể bạn quan tâm: 5 KIỂU NGÔN NGỮ LẬP TRÌNH BẬC CAO MÀ DÂN IT PHẢI BIẾT: TÍNH ỨNG DỤNG CỦA TỪNG KIỂU NGÔN NGỮ.

MYSQL là gì?

Mysql là hệ thống quản lý dữ liệu cơ sở nguồn mở (RDBMS) được sử dụng để quản lý và lưu trữ dữ liệu. Mysql được sử dụng rộng rãi trong các ứng dụng web và các ứng dụng phần mềm để lưu trữ và truy xuất theo 1 hệ thống cấu trúc cụ thể.

Mysql sử dụng hệ thống ngôn ngữ riêng được gọi là SQL để quản lý và thao tác dữ liệu cho phép người sử dụng máy tính theo dõi và sửa đổi lại dữ liệu. Mysql có thể được linh hoạt sử dụng trong các chương trình, phần mềm với nhiều ngôn ngữ lập trình bậc cao khác nhau như Java, Python, JavaScript… Điều này khiên Mysql trở thành lựa chọn số 1 về hệ thống quản lý dữ liệu trong phát triển web hiện nay.

Các kiểu dữ liệu trong mysql có hiệu suất và khả năng cập nhật, mở rộng lớn. Bên cạnh đó, khả năng linh hoạt, tùy biến cho phép người dùng sửa đổi và mở rộng chức năng của nó theo nhu cầu cụ thể của họ.

3. Kiểu dữ liệu trong MYSQL hay gặp?

Với độ phổ biến của mình, nên các kiểu dữ liệu trong MYSQL rất dễ hiểu và thân thuộc với với cả người dùng lẫn lập trình viên. Nhiều nhất, kiểu dữ liệu số, dữ liệu date and time và kiểu chuỗi là 3 kiểu dữ liệu hay gặp. Các kiểu dữ liệu này có gì khác nhau? Và chúng được sử dụng như thế nào?

Dữ liệu số

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

Có 5 loại dữ liệu số nguyên khác nhau là: SMALLINT, INTEGER, MEDIUMINT, BIGINT và TINYINT . Trong đó SMALLINT VÀ INTEGER là 2 kiểu dữ liệu trong MYSQL ở dạng số nguyên tiêu chuẩn. Tuy đều là dạng dữ liệu số nguyên nhưng mỗi kiểu lại cung cấp cho người dùng một không gian lưu trữ khác nhau:

  • TINYINT:
  • Độ dài: 1 byte
  • Giá trị lưu trữ (có dấu): -128-127
  • Giá trị lưu trữ (không dấu): 0 – 255
  • SMALLINT:
  • Độ dài: 2 byte
  • Giá trị lưu trữ (có dấu): -32768-32767
  • Giá trị lưu trữ (không dấu): 0 – 65535
  • MEDIUMINT:
  • Độ dài: 3 byte
  • Giá trị lưu trữ (có dấu): –8388608-8388607
  • Giá trị lưu trữ (không dấu): 0 – 1677215
  • INT:
  • ộ dài: 4 byte
  • Giá trị lưu trữ (có dấu): -2147483648-2147483647
  • Giá trị lưu trữ (không dấu): 0 – 294967285Đ
  • BIGINT:
  • ộ dài: 8 byte
  • Giá trị lưu trữ (có dấu): -9223372036854775808 – 92233720368 54775807
  • Giá trị lưu trữ (không dấu): 0 – 184467440737 09551615
Dữ liệu số - kiểu phổ biến nhất trong các kiểu dữ liệu tron mysql
Dữ liệu số – kiểu phổ biến nhất trong các kiểu dữ liệu tron mysql

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

Cũng giống như kiểu số nguyên, Kiểu dữ liệu trong Mysql số thực cũng có 2 kiểu tiêu chuẩn là FLOAT và DOUBLE. Bên trong MYSQL, cần đến 4 bytes để lưu trữ FLOAT và 8 bytes để lưu trữ DOUBLE.

Đặc điểm riêng của FLOAT và DOUBLE:

  • FLOAT (M,D):
  • M là độ dài phần nguyên
  • D là độ dài phần thập phân
  • Độ dài (số byte): 4
  • Giá trị lưu trữ (có dấu): -3.402823466E+38 – -1.175494351E-38
  • Giá trị lưu trữ (không dấu): 1.175494351E-38 – 3.402823466E+3

Kiểu dữ liệu Decimal và Numeric

Trong Mysql, Decimal và Numeric lưu trữ chính xác dữ liệu số và định dạng nhị phân. Hai kiểu dữ liệu này đặc biệt phù hợp với tiền tệ, định giá… Cụ thể Decimal (7;2) tức là bộ nhớ sẽ hiểu là 1 giá trị có 7 chữ số, trong 5 chữ số này có 2 chữ số thập phân.

Kiểu dữ liệu date and time

Kiểu dữ liệu date and time là kiểu dữ liệu phổ biến thứ hai trong các kiểu dữ liệu trong Mysql. Dưới đây là các kiểu dữ liệu tiêu biểu bên trong Date and time

Kiểu dữ liệu date

Được sử dụng khi muốn lưu trữ thông tin, ngày tháng. Kiểu dữ liệu này hiện thị dưới đạng: YYYY-MM-DD, với phạm vi lưu trữ từ ngày 1-1-1000 đến ngày 31-12-9999.

Kiểu dữ liệu datetime

Nâng cấp hơn của kiểu dữ liệu date, datetime lưu trữ cả hai dạng thông tin là ngày tháng và thời gian chính xác. Datetime tồn tại dưới định dạng: YYYY-MM-DD HH:MM:SS. Với phạm vi từ 1-1-1000  00:00:00 tới 9999-12-31 23:59:59.

Kiểu dữ liệu timestamp

Timestamp sử dụng lưu trữ thời gian (giờ, phút, giây). Theo định dạng HH:MM:SS; phạm vi thời gian từ “-838:59:59” tới “838:59:59”. Timestamp không chỉ biểu hiện khoảng thời gian của 1 ngày, mà còn có thể biểu thị khoảng thời gian gữa hai mốc sự kiện. Vậy nên sự khác nhau giữa DateTime và Timestamp là Timestamp được chuyển đổi từ múi giờ hiện tại sang UTC khi lưu trữ và ngược lại chuyển từ UTC sang múi giờ hiện tại nếu như muốn lấy dữ liệu.

Kiểu dữ liệu year

Kiểu dữ liệu YEAR là kiểu dữ liệu nhỏ, dùng để lưu trữ năm, vậy nên chỉ tốn khoảng 1 bytes cho việc lưu trữ.

  • YEAR (2):
  • Được hiểu là chiều rộng của dữ liệu là 2 ký tự
  • Thường là 2 số cuối của năm
  • Phạm vi từ “00” tới “99”
  • YEAR (4):
  • Được hiểu là chiều rộng dữ liệu là 4 ký tự
  • Định dạng: YYYY
  • Phạm vi từ “1901” tới “2155”

Kiểu dữ liệu string types

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

CHAR và VARCHAR là kiểu kiểu dữ liệu chuỗi căn bản khi nói về các kiểu dữ liệu trong mysql. Hai kiểu dữ liệu này căn bản là giống nhau, chỉ khác nhau về cách nhập, truy xuất dữ liệu. Bên cạnh đó là sự khác nhau về chiều dài tối đa và khoảng trắng phía trước được loại bỏ hay không.

  • CHAR: 
  • Dạng hiển thị: Khoảng trắng phía trước dữ liệu được loại bỏ
  • Phạm vi các ký tự từ “0” tới “255”.
  • VARCHAR:
  • Định dạng hiển thị: Giống như data được nhập và lưu trữ
  • Phạm vi ký tự từ “0” tới “65535”
Các kiểu dữ liệu trong MYSQL
Các kiểu dữ liệu trong MYSQL

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

BINARY và VARBINARY cũng tương tự như CHAR và VARCHAR, thế nhưng các kiểu dữ liệu này lại có thể chứa các chuỗi nhị phân thay vì là các chuỗi non binary như CHAR và VARCHAR

  • BINARY:
  • Kiểu định dạng hiển thị: Chứa các chuỗi nhị phân (Binary strings)
  • Phạm vi ký tự từ “0” đến “255”
  • VARBINARY:
  • Kiểu định đạng hiển thị: Chứa các chuỗi nhịn phân (Binary strings)
  • Phạm vi ký tự từ “0” đến “65535”

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

  • BLOB: là đối tượng nhị phân lớn, có thể chứa 1 lượng lớn dữ liệu. Có 4 loại dữ liệu BLOB đó là:
  • TINYBLOB (chiều dài tối đa 255 ký tự)
  • BLOB
  • MEDIUMBLOB (chiều dài tối đa 16777215)
  • LONGBLOB (chiều dài tối đa 429967295)
  • TEXT: Lưu trữ các dữ liệu được coi là chuỗi ký tự mã hóa (character set). Có 4 loại TEXT tương ứng như 4 loại BLOB:
  • TINYTEXT (chiều dài tối đa 255 ký tự)
  • TEXT
  • MEDIUMTEXT (chiều dài tối đa 16777215)
  • LONGTEXT (chiều dài tối đa 429967295)

Kiểu dữ liệu ENUM

ENUM là một danh sách các đối tượng mà trường phải nhận (Null). Trong các kiểu dữ liệu trong Mysql thì ENUM hay ENULL có tính chọn lọc cao nhất vì chỉ các dữ liệu được chỉ định trọng ENUM, Null mới được xuất hiện.

Trên đây là các thông tin liên quan những kiểu dữ liệu trong Mysql mà chúng tôi chia sẻ, mong rằng những kiến thức trên sẽ giúp bạn hiểu chi tiết hơn về Mysql để phục vụ cho công việc lập trình và kiểm thử.

Bài trước

5 kiểu ngôn ngữ lập trình bậc cao mà dân IT phải biết: Tính ứng dụng của từng kiểu ngôn ngữ

Bài tiếp theo

Regression test là gì? Tất tần tật những điều cần biết về kiểm thử hồi quy.

Chia sẻ:

Bình luận

Bài viết liên quan

Zalo Zalo Messenger Messenger Phone Phone