Chủ Nhật, 30 tháng 7, 2023

Các kiểu dữ liệu trong SQL (Data Type)

Trong bài này mình sẽ giới thiệu với các bạn các kiểu dữ liệu thường dùng trong các hệ quản trị CSDL như SQL Server, MySQL, Oracle, ... tuy rằng mỗi cái có những kiểu khác nhau nhưng chung quy lại vẫn chưa thành các nhóm chung.

Ví dụ:

  • SQL Server có: nvarchar, varchar
  • Oracle có char, varchar2
  • MySQL có varchar, char ...

Vì nó chung quy như vậy nên mình sẽ lấy các kiểu dữ liệu trong SQL Server làm mẫu nhé.

Mục lục

  • 1. Kiểu số nguyên
  • 2. Kiểu số thực
  • 3. Kiểu ngày tháng
  • 4. Character Strings
  • 5. Unicode Character Strings
  • 6. Binary Strings

1. Kiểu số nguyên

Đây là kiểu số nhưng là số chẵn và có cả số âm và số dương.

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

KiểuGiá trị nhỏ nhấtGiá trị lớn nhất
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,807
int-2,147,483,6482,147,483,647
smallint-32,76832,767
tinyint0255
bit01
decimal-10^38 +110^38 –1
numeric-10^38 +110^38 –1
money-922,337,203,685,477.5808+922,337,203,685,477.5807
smallmoney-214,748.3648+214,748.3647

2. Kiểu số thực

Là kiểu số cấp phát động, có nghĩa là số có dấu phẩy.

KiểuGiá trị nhỏ nhấtGiá trị lớn nhất
Float-1.79E + 3081.79E + 308
Real-3.40E + 383.40E + 38

3. Kiểu ngày tháng

Là kiểu định dạng ngày tháng.

KiểuGiá trị nhỏ nhấtGiá trị lớn nhất
datetime(3.33 milliseconds accuracy)Jan 1, 1753Dec 31, 9999
smalldatetime(1 minute accuracy)Jan 1, 1900Jun 6, 2079
date(1 day accuracy. Introduced in SQL Server 2008)Jan 1, 0001Dec 31, 9999
datetimeoffset(100 nanoseconds accuracy. Introduced in SQL Server 2008)Jan 1, 0001Dec 31, 9999
datetime2(100 nanoseconds accuracy. Introduced in SQL Server 2008)Jan 1, 0001Dec 31, 9999
time(100 nanoseconds accuracy. Introduced in SQL Server 2008)00:00:00.000000023:59:59.9999999

4. Character Strings

Là kiểu ký tự và không hỗ trợ tiếng Việt.

Số thứ tựKiểu và mô tả
1char: Chiều dài cố định và tối đa là 8000 ký tự, không hỗ trợ uniccode
2varchar: Chiều dài cố định và tối đa là 8000 ký tự, không hỗ trợ unicode
3Varchar (max): Chiều dài cố định và tối đa là 251 ký tự, không hỗ trợ unicode
4text: Chiều dài cố định và tối đa là 2,147,483,647 characters, không hỗ trợ unicode

5. Unicode Character Strings

Là kiểu ký tự, nó có hỗ trợ tiếng Việt nên thông thường với tiếng Việt thì ta nên chọn kiểu này.

Số thứ tựKiểu và mô tả
1nchar: Chiều dài cố định và tối đa là 4000 ký tự, có hỗ trợ unicode
2nvarchar: Chiều dài cố định và tối đa là 4000 ký tự, có hỗ trợ unicode
3Nvarchar (max): Chiều dài cố định và tối đa là 230 ký tự, có hỗ trợ unicode
4ntext: Chiều dài cố định và tối đa là 1,073,741,823 ký tự, có hỗ trợ unicode.

6. Binary Strings

Kiểu này lưu trữ dữ liệu dạng binary, có thể là file ảnh hoặc một file bất kì. Kiểu này rất ít khi sử dụng bởi nếu bạn lưu những file nặng vài MB thì quả là kinh khủng.

Số thứ tựKiểu và mô tả
1binary: Chiều dài cố định và tối đa là 8,000 bytes.
2varbinary: Chiều dài cố định và tối đa là 8,000 bytes.
3varbinary(max): Chiều dài cố định và tối đa là 231 bytes.
4image: Chiều dài cố định và tối đa là 2,147,483,647 bytes.

Ngoài ra còn có nhiều loại dữ liệu khác như: timestamp, xml, table, cursor, ... nhưng mình sẽ không đề cập ở bài này, thực tế chỉ có timestamp là dùng nhiều chứ mấy kiểu còn lại rất ít khi dùng, ngay cả khi lưu trữ XML thì bạn cũng dùng text để thay thế.

Trên là các kiểu dữ liệu được sử dụng trong SQL Server, nếu bạn đang học MySQL hay Oracle  thì có thể đọc trên trang tài liệu của nó vì ở đó khá chi tiết. Bài này mình xin dừng ở đây, hẹn gặp lại các bạn ở bài tiếp theo và sẽ là những bài cực kì hấp dẫn với các câu truy vấn.

=============================
* Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- 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
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
+ Oracle cơ bản: https://bit.ly/admin1_1200
+ Linux: https://bit.ly/linux_1200
=============================
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