Thứ Ba, 25 tháng 7, 2023

MySQL Data Types

Như ta biết trong SQL có một ngôn ngữ tên là T-SQL, mà đã là ngôn ngữ lập trình thì đương nhiên sẽ có các kiểu dữ liệu. Cũng như các ngôn ngữ lập trình khác, khi lưu dữ liệu của người dùng chúng ta cũng phải định nghĩa kiểu dữ liệu cho nó. Ví dụ khi lưu năm sinh thì ta sẽ lưu một số nên kiểu của nó là INT, còn khi lưu tên thì ta sẽ lưu kiểu chuỗi varchar. Tùy vào mỗi loại mà chúng ta sẽ chọn các kiểu dữ liệu cho phù hợp.

Trong 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ó. Như ở ví dụ trên thì cột nam_sinh sẽ là kiểu INT và cột ten thì kiểu varchar. Mỗi loại dữ liệu sẽ có một số đặc điểm sau:

  • Kiểu dữ liệu (varcharinttext)
  • Chiều dài tối đa
  • Có thể lập được loại chỉ mục (indexes) nào?

Bây giờ ta sẽ tìm hiểu chi tiết hơn nhé.

Mục lục

  • 1. Kiểu dữ liệu số (Numeric Data Types)
  • 2. Kiểu chuỗi (String)
  • 3. Kiểu ngày tháng (Date and Date time)
  • 4. Các loại dữ liệu không gian (Spatial)
  • 5. Lời kết

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

Trong MySQL có 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, và bạn không thể lưu trữ một chuỗi cho kiểu dữ liệu số. Sau đây là danh sách tất cả các kiểu dữ liệu dạng số trong MySQL. 

Bài viết này được đăng tại tranvanbinh.vn

Kiểu dữ liệuMô tả
TINYINTKích thước rất nhỏ
SMALLINTKích thước nhỏ
MEDIUMINTKích thước vừa
INTKích thước chuẩn
BIGINTKích thước lớn
DECIMALSố cố định
FLOATSố có dấu chấm động
DOUBLESố có dấu chấm động lớn hơn
BITKiểu BIT

2. Kiểu chuỗi (String)

Khi khai báo kiểu dữ liệu chuỗi thì đồng nghĩa với việc bạn có thể lưu trữ một chuỗi, một chuỗi ở đây chính là một dãy các kí tự các chữ cái hoặc các con số và các kí tự đặc biệt. Sau đây là một số kiểu dữ liệu chuỗi.

Kiểu dữ liệuMô tả
CHARCó chiều dài cố định và không ở dạng nhị phân
VARCHARCó chiều dài và ta phải xác định chiều dài cho nó, không ở dạng nhị phần
BINARYChuỗi nhị phân có độ dài cố định
VARBINARYChuỗi nhị phân có độ dài thay đổi
TINYBLOBBLOB rất nhỏ
BLOBBLOB nhỏ
MEDIUMBLOBBLOB vừa
LONGBLOBBLOB lớn
TINYTEXTChuỗi không nhị phân rất nhỏ
TEXTChuỗi không nhị phân nhỏ
MEDIUMTEXTChuỗi không nhị phân trung bình
LONGTEXTChuỗi không nhị phân lớn
ENUMenumeration
SETBộ

3. Kiểu ngày tháng (Date and Date time)

MySQL cũng cung cấp 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 dễ dàng hơn. Khi lưu ở dạng này bạn 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.

Nếu bạn muốn lưu trữ ngày, tháng và năm thì chọn kiểu Date, lưu trữ có thêm giờ phút giây thì Datetime và lưu trữ chỉ giờ phút giây thì chọn time. Ngoài ra có thêm kiểu timestamp dùng lưu trữ thời gian khi record được thêm vào. Sau đây là danh sách các kiểu dữ liệu trong MYSQL:

Kiểu dữ liệuMô tả
DATEKiểu ngày tháng, định dạng YYYY-MM-DD
TIMEKiểu thời gian, định dạng HH:MM:SS
DATETIMEKiểu ngày tháng có thời gian, định dạng YYYY-MM-DD HH:MM:SS
TIMESTAMPKiểu ngày tháng có thời gian, định dạng YYYY-MM-DD HH:MM:SS
YEARKiểu năm, định dạng YYYY

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

Khi làm việc với các ứng dụng web thì các loại dữ liệu trên kia là quá đủ rồi, bạn không cần phải tìm hiểu các kiểu dữ liệu dưới đây làm gì. Tuy nhiên tôi vẫn liệt kê ra để các bạn tham khảo cho biết.

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, tọa độ và địa lý sau:

Kiểu dữ liệuMô tả
GEOMETRYGiá trị không gian của bất kì loại nào
POINT Một cặp điểm tọa độ X:Y
LINESTRINGMột đường cong
POLYGONMột đa giác
GEOMETRYCOLLECTIONMột dãy các GEOMETRY
MULTILINESTRINGMột dãy các đường cong
MULTIPOINTMột day các điểm
MULTIPOLYGONMột dãy các đa giác

5. Lời kết

Trên là danh sách các kiểu dữ liệu trong MySQL thông dụng mà chúng ta hay sử dụng khi xây dựng các ứng dụng Website. Không chỉ có ở MySQL mà ở SQL Server cũng có các kiểu dữ liệu tương tự.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master