SQL PROGRAMMING

Các kiểu dữ liệu SQL

Các kiểu dữ liệu SQL

Giới thiệu

Trong chương này, chúng ta sẽ thảo luận về các Kiểu dữ liệu khác nhau của SQL và cách sử dụng các kiểu dữ liệu này.

Loại dữ liệu

  1. Trong một cơ sở dữ liệu, mỗi cột, biến cục bộ, biểu thức và tham số có một kiểu dữ liệu liên quan.
  2. Kiểu dữ liệu là một thuộc tính xác định loại dữ liệu mà đối tượng có thể chứa.
  3. Sau đây là các loại dữ liệu khác nhau:
    • Integer Types
    • Boolean Type
    • Decimal Types
    • Monetary or Currency Types
    • Date and Time Values
    • String Values
    • Binary Values
    • Timestamp
    • Uniqueidentifier
    • XML

1. Integer Types

  1. Các kiểu số nguyên giữ các giá trị số nguyên.
  2. Các kiểu số nguyên là các kiểu dữ liệu tinyint, smallint, int và bigint với kích thước lần lượt là 1, 2, 4 và 8 byte.
    Các kiểu số nguyên
    Bytes
    Tinyint
    1
    Smallint
    2
    Int
    4
    Bigint
    8

2. Boolean Type

  1. Loại Boolean có thể chứa các giá trị boolean
  2. Nó có thể cung cấp kiểu dữ liệu “bit” có thể nhận giá trị 1, 0 hoặc NULL.Ghi chúCác giá trị chuỗi TRUE và FALSE có thể được chuyển đổi thành giá trị bit: TRUE được chuyển thành 1 và FALSE được chuyển thành 0.

3. Decimal Types 

  1. Loại thập phân giữ giá trị thập phân.
  2. Họ cung cấp các loại sau:
    • số thập phân và số
    • float và real

Số thập phân và số

  • thập phân [ (p[ , s] )] và số [ (p[ , s] )]
  • p (precision – độ chính xác)- Tổng số chữ số thập phân tối đa có thể được lưu trữ, cả ở bên trái và bên phải của dấu thập phân. Độ chính xác phải là một giá trị từ 1 đến độ chính xác tối đa là 38. Độ chính xác mặc định là 18.
  • s (scale – tỷ lệ)- Số chữ số thập phân tối đa có thể được lưu trữ ở bên phải dấu thập phân. Thang đo phải là một giá trị từ 0 đến p. Thang đo chỉ có thể được chỉ định nếu độ chính xác được chỉ định. Thang đo mặc định là 0.
  • Kích thước lưu trữ của các loại Số thập phân và Số khác nhau, dựa trên độ chính xác, như minh họa trong phần sau:
    Độ chính xác
    Byte lưu trữ
    1 đến 9
    5
    10 đến 19
    9
    20 đến 28
    13
    29 đến 38
    17

    Lưu ý- số có chức năng tương đương với số thập phân.

Float và real

  • Float [ ( n ) ] và real.
  • Các kiểu dữ liệu số gần đúng để sử dụng với dữ liệu số dấu phẩy động.
  • Dữ liệu dấu phẩy động là gần đúng; do đó, không phải tất cả các giá trị trong phạm vi kiểu dữ liệu đều có thể được biểu diễn chính xác.
  • Trong đó n là số bit được sử dụng để lưu trữ phần định trị của số float theo ký hiệu khoa học và do đó, quy định độ chính xác và kích thước lưu trữ.
  • Nếu n được chỉ định thì nó phải có giá trị từ 1 đến 53.
  • Giá trị mặc định của n là 53.
    Giá trị n
    Độ chính xác
    Kích thước lưu trữ
    1 đến 24
    7 chữ số
    4 byte
    25 đến 53
    15 chữ số
    8 byte

4. Monetary or Currency Types

  1. Tiền tệ hoặc Loại tiền tệ nắm giữ các giá trị tiền tệ.
  2. Nó cung cấp các loại dữ liệu tiền nhỏ và tiền với kích thước 4 và 8 byte tương ứng.
    Các loại tiền tệ
    byte
    Smallmoney
    4
    Money
    8

5. Date and Time Values

  1. Giá trị Ngày và Giờ giữ các giá trị Ngày và Giờ của một ngày.
  2. Nó cung cấp các loại sau:
    • smalldatetime
    • datetime
    Loại dữ liệu
    Phạm vi
    Sự chính xác
    Smalldatetime
    Ngày 1 tháng 1 năm 1900 đến ngày 6 tháng 6 năm 2079
    1 phút
    Datetime
    Ngày 1 tháng 1 năm 1753 đến ngày 31 tháng 12 năm 9999
    3,33 mili giây

Smalldatetime

  • Kiểu dữ liệu smalldatetime lưu trữ ngày và thời gian trong ngày với độ chính xác kém hơn datetime.
  • Cơ sở dữ liệu lưu trữ các giá trị thời gian nhỏ dưới dạng hai số nguyên 2 byte.
  • 2 byte đầu tiên lưu trữ số ngày sau ngày 1 tháng 1 năm 1900.
  • 2 byte còn lại lưu trữ số phút kể từ nửa đêm.

Datetime

  • Các giá trị với kiểu dữ liệu ngày giờ được lưu trữ nội bộ bởi Công cụ cơ sở dữ liệu Microsoft SQL Server 2005 dưới dạng hai số nguyên 4 byte.
  • 4 byte đầu tiên lưu trữ số ngày trước hoặc sau ngày cơ sở: ngày 1 tháng 1 năm 1900.
  • Ngày cơ sở là ngày tham chiếu hệ thống.
  • 4 byte còn lại lưu trữ thời gian trong ngày được biểu thị bằng số mili giây sau nửa đêm.

6. String Values

  1. Giá trị chuỗi giữ các giá trị chuỗi
  2. Các loại giá trị chuỗi là:
    • Char
    • Varchar
    • Text
    • Nchar
    • Nvarchar
    • Ntext

Char

  • Ký tự [ ( n ) ]
  • Dữ liệu ký tự không phải Unicode, có độ dài cố định với độ dài n byte.
  • n phải là một giá trị từ 1 đến 8.000.
  • Kích thước lưu trữ là n byte.

Varchar

  • Varchar [ ( n | max ) ]
  • Dữ liệu ký tự không phải Unicode, có độ dài thay đổi.
  • n có thể là một giá trị từ 1 đến 8.000.
  • max cho biết kích thước lưu trữ tối đa là 2^31-1 byte.
  • Kích thước lưu trữ là độ dài thực của dữ liệu được nhập + 2 byte.

Text

  • Nó bằng với varchar(max) loại dữ liệu này sẽ bị xóa trong phiên bản tương lai của Microsoft SQL Server.
  • Tránh sử dụng các loại dữ liệu này trong công việc phát triển mới; thay vào đó hãy sử dụng varchar(max) .

Nchar

  • nchar [ ( n ) ]
  • Dữ liệu ký tự Unicode có độ dài cố định gồm n ký tự.
  • n phải là một giá trị từ 1 đến 4.000.
  • Kích thước lưu trữ là hai lần n byte.

Nvarchar

  • nvarchar [ ( n | tối đa ) ]
  • Dữ liệu ký tự Unicode có độ dài thay đổi.
  • n có thể là một giá trị từ 1 đến 4.000.
  • max cho biết kích thước lưu trữ tối đa là 2^31-1 byte.
  • Kích thước lưu trữ, tính bằng byte, gấp hai lần số ký tự đã nhập + 2 byte.

Ntext

  • Nó tương đương với nvarchar(max) loại dữ liệu này sẽ bị xóa trong phiên bản tương lai của Microsoft SQL Server.
  • Tránh sử dụng các loại dữ liệu này trong công việc phát triển mới, thay vào đó hãy sử dụng nvarchar(max).

7. Binary Values

  1. Giá trị nhị phân chứa các giá trị nhị phân như hình ảnh, clip âm thanh và video clip.
  2. Các loại giá trị nhị phân là:
    • binary
    • varbinary
    • Image

Binary

  • nhị phân [ ( n ) ]
  • Dữ liệu nhị phân có độ dài cố định với độ dài n byte, trong đó n là giá trị từ 1 đến 8.000.
  • Kích thước lưu trữ là n byte.

Varbinary

  • nhị phân [ ( n | max) ]
  • Dữ liệu nhị phân có độ dài thay đổi.
  • n có thể là một giá trị từ 1 đến 8.000.
  • max cho biết kích thước lưu trữ tối đa là 2^31-1 byte.
  • Kích thước lưu trữ là độ dài thực tế của dữ liệu được nhập + 2 byte.

Image

  • Nó bằng với varbinary(max) loại dữ liệu này sẽ bị xóa trong phiên bản tương lai của Microsoft SQL Server.
  • Tránh sử dụng các loại dữ liệu này trong công việc phát triển mới, thay vào đó hãy sử dụng varbinary(max).

8. Timestamp

  1. Timestamp là một loại dữ liệu hiển thị các số nhị phân duy nhất được tạo tự động trong cơ sở dữ liệu.
  2. Kích thước lưu trữ là 8 byte.
  3. Bạn có thể sử dụng cột dấu thời gian của một hàng để dễ dàng xác định xem có bất kỳ giá trị nào trong hàng đó đã thay đổi kể từ lần đọc cuối cùng hay không.
  4. Nếu có bất kỳ thay đổi nào đối với hàng, giá trị dấu thời gian sẽ được cập nhật.
  5. Nếu không có thay đổi nào được thực hiện đối với hàng, giá trị dấu thời gian sẽ giống như khi nó được đọc trước đó.

9. Uniqueidentifier

  • Mã định danh duy nhất là GUID 16 byte được khởi tạo bằng cách sử dụng hàm newid() hoặc chuyển đổi một hằng chuỗi ở dạng xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx được sử dụng để đảm bảo rằng các hàng được xác định duy nhất trên nhiều bản sao của bàn.

10. XML

  1. XML là kiểu dữ liệu lưu trữ dữ liệu XML.
  2. Bạn có thể lưu trữ các phiên bản XML trong một cột hoặc một biến kiểu XML.
  3. Kích thước đại diện được lưu trữ của các phiên bản kiểu dữ liệu XML không được vượt quá 2 gigabyte (GB).
Ghi chú
  1. Sử dụng char, nchar hoặc nhị phân khi kích thước của các mục nhập dữ liệu cột nhất quán.
  2. Sử dụng varchar, nvarchar hoặc varbinary khi kích thước của các mục nhập dữ liệu cột thay đổi đáng kể.
  3. Sử dụng varchar(max), nvarchar(max) hoặc varbinary(max) khi kích cỡ của các mục nhập dữ liệu cột thay đổi đáng kể và kích cỡ có thể vượt quá 8.000 byte.

Bản tóm tắt

Trong chương này, chúng ta đã tìm hiểu về các kiểu Dữ liệu trong SQL và cách sử dụng các kiểu Dữ liệu này.
(Source: https://www.c-sharpcorner.com/)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *