Tổng hợp các kiểu dữ liệu trong SQL chi tiết, đầy đủ nhất

Đăng lúc 19:41 09.09.2024

Trong quá trình khởi tạo bảng dữ liệu và các trường thông tin thì chúng ta cần phải gán cho từng cột tương ứng với kiểu dữ liệu nhất định. Chẳng hạn cột dữ liệu ngày tháng thì chúng ta cần gán cho nó kiểu dữ liệu ngày tháng, hay cột tên thì cần gán kiểu dữ liệu chữ,...

Vậy các kiểu dữ liệu trong SQL thường dùng là gì? Chúng được sử dụng trong trường hợp nào? Cùng HocVienDaoTao.Com tìm hiểu trong bài viết hôm nay nhé!

 

Tổng hợp các kiểu dữ liệu trong SQL server

Trong SQL, chúng ta có các kiểu dữ liệu thông dụng thường dùng trong các trường thông tin như kiểu chữ (Varchar, Nvarchar), hay kiểu số (Int, Float) hay kiểu ngày tháng (Date, Datetime) hay kiểu boolean trong SQL . Cùng tìm hiểu chi tiết nhé:

Kiểu dữ liệu dạng chuỗi văn bản trong SQL

Đây là kiểu dữ liệu SQL được gán cho các trường được lưu dưới dạng các chuỗi ký tự, chẳng hạn như tên, địa chỉ, hay văn bản bất kỳ. Một số kiểu dữ liệu mySQL dạng chuỗi mà bạn có thể tham khảo như:

Kiểu Kích thước tối đa (n) Mô tả
CHAR(n) 8000 ký tự

Lưu trữ chuỗi ký tự có độ dài cố định (n).

Nếu chuỗi ngắn hơn thì thêm khoảng trắng bên phải để bù đủ số ký tự.

Ví dụ: Mã quốc gia, Mã nhân viên

VARCHAR(n) Theo số ký tự thực tế của bản ghi hoặc Tối đa 8000 ký tự.

kiểu varchar trong SQL dùng để lưu trữ chuỗi ký tự có độ dài thay đổi.

Ví dụ: Tên, Địa chỉ

TEXT

 

Tối đa 2GB.

Lưu trữ văn bản dài, không giới hạn chiều dài tối đa.
NCHAR(n) Tối đa 4000 ký tự Khi cần lưu trữ chuỗi với ký tự Unicode và độ dài cố định.
NVARCHAR(n) Theo số ký tự thực tế hoặc tối đa 4000 ký tự Khi cần lưu trữ chuỗi với ký tự Unicode và độ dài thay đổi.
NTEXT Lưu trữ các chuỗi văn bản rất dài, lên đến 2^30 - 1 ký tự. Khi cần lưu trữ văn bản dài với ký tự Unicode.
BINARY(n) Tối đa 8000 kí tự. Khi cần lưu trữ dữ liệu nhị phân với độ dài cố định.
VARBINARY(n) Theo số ký tự thực tế hoặc tối đa 8000 ký tự. Khi cần lưu trữ dữ liệu nhị phân với độ dài thay đổi.
IMAGE Lưu trữ dữ liệu nhị phân rất lớn, lên đến 2^31 - 1 byte. Khi cần lưu trữ dữ liệu nhị phân rất lớn (hình ảnh, tài liệu)
 
Kiểu dữ liệu dạng chuỗi văn bản trong SQL

Kiểu dữ liệu dạng số

Với các trường dữ liệu kiểu dữ liệu trong SQL, chúng ta cần gán chúng cho các kiểu giá trị số như sau:

Kiểu Kích thước tối đa Mô tả
BIT Lưu trữ giá trị nhị phân: 0 hoặc 1 hoặc NULL. Đây là một kiểu dữ liệu boolean cần dùng khi lưu trữ giá trị đúng/sai hoặc trạng thái nhị phân.
TINYINT  từ 0 đến 255 Kiểu tinyint trong SQL dùng khi cần lưu trữ số nguyên nhỏ hoặc giá trị đếm nhỏ.
SMALLINT từ -32768 đến 32767 Khi cần lưu trữ số nguyên vừa phải, tiết kiệm bộ nhớ.
INT số nguyên từ -2,147,483,648 đến 2,147,483,647. Khi cần lưu trữ số nguyên lớn hơn
BIGINT  số nguyên từ -9,223,372,036,854,775,808 đến 9,223,372,036,854,775,807. Khi cần lưu trữ số nguyên rất lớn, như mã định danh lớn.
DECIMAL(m,d)

m: mặc định là 18 nếu không được chỉ định.

d: mặc định là 0 nếu không được chỉ định.

Khi cần lưu trữ số với độ chính xác cao, như tiền tệ hoặc số liệu tài chính.
DEC(m,d)

m: mặc định là 18 nếu không được chỉ định.

d: mặc định là 0 nếu không được chỉ định.

Giống với kiểu dữ liệu DECIMAL(m,d).
NUMERIC(m,d)

m: mặc định là 18 nếu không được chỉ định.

d: mặc định là 0 nếu không được chỉ định.

Giống với kiểu dữ liệu DECIMAL(m,d).
FLOAT(n) n xác định độ chính xác; mặc định là 53 bit nếu không được chỉ định cụ thể. Khi cần lưu trữ số thực với độ chính xác không cố định.
REAL tương đương với FLOAT(24) Khi cần lưu trữ số thực với độ chính xác thấp hơn.
SMALLMONEY Lưu trữ số tiền với phạm vi từ -214,748.3648 đến 214,748.3647. Khi cần lưu trữ số tiền với phạm vi nhỏ hơn.
MONEY Lưu trữ số tiền với phạm vi từ -922,337,203,685,477.5808 đến 922,337,203,685,477.5807. Khi cần lưu trữ số tiền với phạm vi lớn hơn SMALLMONEY.


 

Kiểu dữ liệu dạng số

Kiểu dữ liệu date trong SQL

Trong database không thể thiếu các trường dữ liệu chứa thông tin về ngày tháng năm. Lúc này, chúng ta sẽ sử dụng kiểu dữ liệu ngày tháng để gán cho các trường thông tin này. Cụ thể:

Kiểu dữ liệu Kích thước tối đa Mô tả
DATE từ '0001-01-01' đến '9999-12-31’. Biểu diễn ngày theo định dạng 'YYYY-MM-DD' mà không có giờ, phút, giây.
DATETIME Lưu trữ thời gian từ '1753-01-01 00:00:00' đến '9999-12-31 23:59:59' Khi cần lưu trữ cả ngày và giờ với độ chính xác đến giây theo định dạng 'YYYY-MM-DD HH:MM:SS'
DATETIME2 Lưu trữ thời gian từ từ '0001-01-01 00:00:00' đến '9999-12-31 23:59:59:9999999' Khi cần lưu trữ ngày và giờ với độ chính xác tới số thập phân của giây dưới dạng 'YYYY-MM-DD hh:mm:ss[.số giây thập phân]'
SMALLDATETIME

Lưu trữ thời gian từ '1900-01-01 00:00:00' đến '2079-06-06 23:59:59'.


 

Khi cần lưu trữ ngày và giờ với phạm vi nhỏ hơn và độ chính xác đến phút dưới dạng 'YYYY-MM-DD hh:mm:ss’
TIME lưu trữ thời gian từ '00:00:00.0000000' đến '23:59:59.9999999'. Lưu trữ thời gian trong ngày, không cần ngày tháng dưới dạng 'hh:mm:ss[.nnnnnnn]'
DATETIMEOFFSET

lưu trữ thời gian từ '00:00:00' đến '23:59:59:9999999'.

Múi giờ lấy từ -14:00 đến +14:00.


 

Lưu trữ ngày, giờ và thông tin về múi giờ dưới dạng YYYY-MM-DD hh:mm:ss[.nnnnnnn]' [{+|-}hh:mm]


 

Kiểu dữ liệu date trong SQL

Một số kiểu dữ liệu khác trong SQL

Ngoài 3 kiểu dữ liệu phổ biến thường dùng ở trên, bạn còn có thể bắt gặp một số kiểu dữ liệu sau:

Kiểu Mô tả
table Dùng để lưu trữ một bảng tạm thời hoặc bảng biến thể trong các truy vấn SQL.
sql_variant Khi cần lưu trữ dữ liệu có kiểu không xác định trước, hoặc kiểu dữ liệu có thể thay đổi.
xml Khi cần lưu trữ dữ liệu theo định dạng XML và thực hiện các thao tác trên dữ liệu XML.
uniqueidentifier Khi cần lưu trữ giá trị GUID để đảm bảo tính duy nhất, thường dùng trong các khóa chính.
cursor Khi cần xử lý dữ liệu theo hàng, thay vì thao tác trên toàn bộ tập hợp dữ liệu cùng lúc.


 

Lưu ý khi sử dụng kiểu dữ liệu trong SQL

Kiểu dữ liệu NUMERIC và DECIMALtrong SQL

Hai kiểu dữ liệu này đều dùng để lưu trữ số thực với số thập phân cố định với độ chính xác cao. Ví dụ khi bạn khai báo kiểu dữ liệu cho cột là DECIMAL(10, 2) thì giá trị cột đó sẽ được lưu với tổng cộng 10 chữ số, trong đó phần thập phân có 2 chữ số.

Kiểu dữ liệu Money:

Được dùng để lưu trữ các giá trị tiền tệ với độ chính xác cao theo đơn vị tiền tệ của hệ thống. Do đó, bạn cần xác định rõ đơn vị tiền tệ cho database trước để tránh lỗi khi nhập liệu.

Kiểu image trong SQL:

Các dữ liệu nhị phân như hình ảnh, âm thanh hay video thường được lưu trữ trong SQL dưới dạng kiểu dữ liệu IMAGE hoặc VARBINARY(MAX). Từ phiên bản SQL Server 2005, Microsoft đã khuyến khích người dùng sử dụng  VARBINARY(MAX) thay vì IMAGE, bởi VARBINARY(MAX) hỗ trợ lưu trữ dữ liệu nhị phân với độ dài linh hoạt. 

Cuối cùng, để có thể truy vấn các dữ liệu nhị phân, bạn có thể sử dụng đến phương thức của ngôn ngữ lập trình hay các framework tương ứng.

Kết luận

Trên đây là tổng hợp các kiểu dữ liệu trong SQL phổ biến mà bạn có thể sẽ cần dùng đến trong quá trình truy vấn dữ liệu. Nếu có bất kỳ thắc mắc hay câu hỏi nào, đừng ngần ngại để lại bình luận ở khung bên dưới. HocVienDaoTao.Com cảm ơn và chúc bạn thành công!

 
 

 
==***==

Khoá học: Quản trị Chiến lược Dành cho các Lãnh đạo Doanh nghiệp
Nhấn vào đây để bắt đầu khóa học

Khóa học: Trở thành chuyên gia Bảo mật và tấn công ANM- Hacker mũ trắng
Nhấn vào đây để bắt đầu khóa học

Chuyên gia phân tích, tự động hóa Web iMacros
Nhấn vào đây để bắt đầu khóa học

Xây dựng ứng dụng tự động hóa AutoIT
Nhấn vào đây để bắt đầu khóa học

Khóa đào tạo Hacker và Marketing Facebook từ A - Z
Nhấn vào đây để bắt đầu khóa học

Khóa học: Phân tích và trực quan hóa dữ liệu với Power BI
Nhấn vào đây để bắt đầu khóa học

Khóa học đào tạo Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán
Nhấn vào đây để bắt đầu khóa học

Làm chủ xây dựng Game chuyên nghiệp
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Marketing Facebook thông minh
Nhấn vào đây để bắt đầu khóa học

Kỹ sảo Điện ảnh đỉnh cao với khóa học After Effect
Nhấn vào đây để bắt đầu khóa học

Trở thành chuyên gia Vẽ Đẳng Cấp với khóa học AI
Nhấn vào đây để bắt đầu khóa học

Làm Chủ thiết kế ảnh với Photoshop CC
Nhấn vào đây để bắt đầu khóa học

Dựng Phim Siêu đẳng với Adobe Premiere
Nhấn vào đây để bắt đầu khóa học

Khóa dựng phần mềm quản lý dành cho nhà Quản lý và Kế toán bằng MS ACCESS
Nhấn vào đây để bắt đầu khóa học

Khóa học Machine Learning cơ bản-Khoa học dữ liệu - AI
Nhấn vào đây để bắt đầu khóa học

Khóa học Đào tạo sử dụng Excel Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học sử dụng PowerPoint Chuyên nghiệp & ứng dụng
Nhấn vào đây để bắt đầu khóa học

Khóa học xây dựng và quản trị hệ thống đào tạo trực tuyến
Nhấn vào đây để bắt đầu khóa học

Đóng góp nội dung

Gửi ý kiến cho ban biên tập
Gửi thông tin

Thông tin

ĐĂNG KÝ/LIÊN HỆ: