SQLite數據類型用於指定任何對象的數據類型。 SQLite中的每列,變數和運算式都有相關的數據類型。 這些數據類型在創建表時使用。 SQLite使用更通用的動態類型系統。 在SQLite中,值的數據類型與值本身相關聯,而不是與其容器相關聯。
SQLite數據類型的類型
SQLite存儲類
SQLite資料庫中存儲的值是以下存儲類之一:
| 存儲類 | 描述 |
|---|---|
| NULL | 表示值為空(null)值。 |
| INTEGER | 表示值是一個有符號整數,根據值的大小存儲在1,2,3,4,6或8個位元組中。 |
| REAL | 表示值是一個浮點值,存儲為8位IEEE浮點數。 |
| text | 表示值是一個文本字串,使用資料庫編碼(utf-8,utf-16be或utf-16le)存儲 |
| BLOB | 表示值是一個數據塊,與輸入的數據完全相同。 |
注意:SQLite存儲類比數據類型更通用一些。 例如:
INTEGER存儲類包括不同長度的6種不同的整數數據類型。
SQLite的近似類型
SQLite支持列的類型近似性。列可以存儲任何類型的數據,但是列的首選存儲類稱為它的近似性類型。
在SQLite3資料庫中有以下類型近似可用於分配。
| 存儲類 | 描述 |
|---|---|
| TEXT | 此列可使用存儲類為NULL,TEXT或BLOB來存儲所有數據。 |
| NUMERIC | 此列可包含使用所有五個存儲類的值。 |
| INTEGER | 它的行為與帶有轉換運算式異常的具有數字近似的列相同。 |
| REAL | 它的行為類似於具有數字近似的列(除了它將整數值強制以浮點表示) |
| NONE | 具有近似性NONE的列不會將一個存儲類轉為另一個存儲類型 |
SQLite近似和類型名稱
以下是可以在創建SQLite表時使用的各種數據類型名稱的列表。
| 數據類型 | 相應的近似類型 |
|---|---|
| INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8 | INTEGER |
| CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB | TEXT |
| BLOB - 未指定數據類型 | NONE |
| REAL DOUBLE DOUBLE PRECISION FLOAT | REAL |
| NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME | NUMERIC |
日期和時間數據類型
在SQLite中,沒有單獨的類型來存儲日期和時間。 但是可以將日期和時間存儲為TEXT,REAL或INTEGER值。
| 存儲類 | 日期格式 |
|---|---|
| TEXT | 它以“yyyy-mm-dd hh:mm:ss.sss” 格式指定日期 |
| REAL | 它規定了從西元前4714年11月24日在格林威治中午以後的天數。 |
| INTEGER | 它指定從1970-01-01 00:00:00 utc開始的秒數。 |
布爾數據類型
在SQLite中,沒有一個單獨的布爾存儲類。一個代替辦法是將布爾值存儲為整數0(假)和1(真)。
上一篇:
SQLite語法大全
下一篇:
SQLite快速入門
