SQLite - Kiểu dữ liệu

Kiểu dữ liệu SQLite là một thuộc tính chỉ định kiểu dữ liệu của bất kỳ đối tượng nào. Mỗi cột, biến và biểu thức có kiểu dữ liệu liên quan trong SQLite.

Bạn sẽ sử dụng các kiểu dữ liệu này trong khi tạo bảng của mình. SQLite sử dụng một hệ thống kiểu động tổng quát hơn. Trong SQLite, kiểu dữ liệu của một giá trị được liên kết với chính giá trị đó, không phải với vùng chứa của nó.

Các lớp lưu trữ SQLite

Mỗi giá trị được lưu trữ trong cơ sở dữ liệu SQLite có một trong các lớp lưu trữ sau:

Sr.No. Lớp lưu trữ & Mô tả
1

NULL

Giá trị là giá trị NULL.

2

INTEGER

Giá trị là một số nguyên có dấu, được lưu trữ trong 1, 2, 3, 4, 6 hoặc 8 byte tùy thuộc vào độ lớn của giá trị.

3

REAL

Giá trị là một giá trị dấu phẩy động, được lưu trữ dưới dạng số dấu phẩy động IEEE 8 byte.

4

TEXT

Giá trị là một chuỗi văn bản, được lưu trữ bằng cách sử dụng mã hóa cơ sở dữ liệu (UTF-8, UTF-16BE hoặc UTF-16LE)

5

BLOB

Giá trị là một khối dữ liệu, được lưu trữ chính xác như đầu vào.

Lớp lưu trữ SQLite tổng quát hơn một chút so với kiểu dữ liệu. Ví dụ, lớp lưu trữ INTEGER bao gồm 6 kiểu dữ liệu số nguyên khác nhau có độ dài khác nhau.

Loại sở thích SQLite

SQLite hỗ trợ khái niệm type affinitytrên các cột. Bất kỳ cột nào vẫn có thể lưu trữ bất kỳ loại dữ liệu nào nhưng lớp lưu trữ ưu tiên cho một cột được gọi làaffinity. Mỗi cột bảng trong cơ sở dữ liệu SQLite3 được gán một trong các kiểu sở thích sau:

Sr.No. Sở thích & Mô tả
1

TEXT

Cột này lưu trữ tất cả dữ liệu bằng cách sử dụng các lớp lưu trữ NULL, TEXT hoặc BLOB.

2

NUMERIC

Cột này có thể chứa các giá trị sử dụng tất cả năm lớp lưu trữ.

3

INTEGER

Hoạt động giống như cột có mối quan hệ NUMERIC, với một ngoại lệ trong biểu thức CAST.

4

REAL

Hoạt động giống như một cột có mối quan hệ NUMERIC ngoại trừ việc nó buộc các giá trị số nguyên vào biểu diễn dấu phẩy động.

5

NONE

Cột có mối quan hệ NONE không thích một lớp lưu trữ hơn lớp khác và không có nỗ lực nào được thực hiện để ép buộc dữ liệu từ lớp lưu trữ này sang lớp khác.

Tên loại và sở thích SQLite

Bảng sau liệt kê các tên kiểu dữ liệu khác nhau có thể được sử dụng trong khi tạo bảng SQLite3 với sở thích được áp dụng tương ứng.

Loại dữ liệu Sự giống nhau
  • INT
  • INTEGER
  • TINYINT
  • SMALLINT
  • MEDIUMINT
  • BIGINT
  • KHÔNG ĐĂNG KÝ LỚN INT
  • INT2
  • INT8
INTEGER
  • CHARACTER(20)
  • VARCHAR(255)
  • KÝ TỰ VARYING (255)
  • NCHAR(55)
  • NHÂN VẬT TỰ NHIÊN (70)
  • NVARCHAR(100)
  • TEXT
  • CLOB
BẢN VĂN
  • BLOB
  • không có loại dữ liệu nào được chỉ định
KHÔNG AI
  • REAL
  • DOUBLE
  • CHÍNH XÁC ĐÔI
  • FLOAT
THỰC TẾ
  • NUMERIC
  • DECIMAL(10,5)
  • BOOLEAN
  • DATE
  • DATETIME
SỐ

Boolean Datatype

SQLite không có lớp lưu trữ Boolean riêng biệt. Thay vào đó, các giá trị Boolean được lưu trữ dưới dạng số nguyên 0 (false) và 1 (true).

Kiểu dữ liệu ngày và giờ

SQLite không có lớp lưu trữ riêng để lưu trữ ngày và / hoặc thời gian, nhưng SQLite có khả năng lưu trữ ngày và giờ dưới dạng giá trị TEXT, REAL hoặc INTEGER.

Sr.No. Lớp lưu trữ & Định dạng ngày
1

TEXT

Ngày có định dạng như "YYYY-MM-DD HH: MM: SS.SSS"

2

REAL

Số ngày kể từ buổi trưa ở Greenwich vào ngày 24 tháng 11 năm 4714 trước Công nguyên

3

INTEGER

Số giây kể từ 1970-01-01 00:00:00 UTC

Bạn có thể chọn lưu trữ ngày và giờ ở bất kỳ định dạng nào trong số này và tự do chuyển đổi giữa các định dạng bằng cách sử dụng các chức năng ngày và giờ tích hợp.