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é.
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 [kiso.vn]
Kiểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
---|---|---|
bigint | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
int | -2,147,483,648 | 2,147,483,647 |
smallint | -32,768 | 32,767 |
tinyint | 0 | 255 |
bit | 0 | 1 |
decimal | -10^38 +1 | 10^38 –1 |
numeric | -10^38 +1 | 10^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ểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
---|---|---|
Float | -1.79E + 308 | 1.79E + 308 |
Real | -3.40E + 38 | 3.40E + 38 |
3. Kiểu ngày tháng
Là kiểu định dạng ngày tháng.
Kiểu | Giá trị nhỏ nhất | Giá trị lớn nhất |
---|---|---|
datetime(3.33 milliseconds accuracy) | Jan 1, 1753 | Dec 31, 9999 |
smalldatetime(1 minute accuracy) | Jan 1, 1900 | Jun 6, 2079 |
date(1 day accuracy. Introduced in SQL Server 2008) | Jan 1, 0001 | Dec 31, 9999 |
datetimeoffset(100 nanoseconds accuracy. Introduced in SQL Server 2008) | Jan 1, 0001 | Dec 31, 9999 |
datetime2(100 nanoseconds accuracy. Introduced in SQL Server 2008) | Jan 1, 0001 | Dec 31, 9999 |
time(100 nanoseconds accuracy. Introduced in SQL Server 2008) | 00:00:00.0000000 | 23: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ả |
---|---|
1 | char: Chiều dài cố định và tối đa là 8000 ký tự, không hỗ trợ uniccode |
2 | varchar: Chiều dài cố định và tối đa là 8000 ký tự, không hỗ trợ unicode |
3 | Varchar (max): Chiều dài cố định và tối đa là 251 ký tự, không hỗ trợ unicode |
4 | text: 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ả |
---|---|
1 | nchar: Chiều dài cố định và tối đa là 4000 ký tự, có hỗ trợ unicode |
2 | nvarchar: Chiều dài cố định và tối đa là 4000 ký tự, có hỗ trợ unicode |
3 | Nvarchar (max): Chiều dài cố định và tối đa là 230 ký tự, có hỗ trợ unicode |
4 | ntext: 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ả |
---|---|
1 | binary: Chiều dài cố định và tối đa là 8,000 bytes. |
2 | varbinary: Chiều dài cố định và tối đa là 8,000 bytes. |
3 | varbinary(max): Chiều dài cố định và tối đa là 231 bytes. |
4 | image: 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.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính1. Kiểu số nguyên2. Kiểu số thực3. Kiểu ngày tháng4. Character...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính1. Kiểu số nguyên2. Kiểu số thực3. Kiểu ngày tháng4. Character Strings5. Unicode Character Strings6. Binary Strings1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính1. Kiểu số nguyên2. Kiểu số thực3. Kiểu ngày tháng4. Character Strings5. Unicode Character Strings6. Binary StringsV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web...
Directory traversal vulnerabilities (phần 3)
Nội dung chính1. Kiểu số nguyên2. Kiểu số thực3. Kiểu ngày tháng4. Character Strings5. Unicode Character Strings6. Binary StringsV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng...
Directory traversal vulnerabilities (phần 2)
Nội dung chính1. Kiểu số nguyên2. Kiểu số thực3. Kiểu ngày tháng4. Character Strings5. Unicode Character Strings6. Binary StringsIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất...