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 |
---|---|
|
INTEGER |
|
BẢN VĂN |
|
KHÔNG AI |
|
THỰC TẾ |
|
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.