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é.

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.

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.

Khóa học nên xem

Nguồn: freetuts.net