SQLite 的数据类型是一个属性来指定任何对象的数据类型。 SQLite中的每一列,变量和表达式相关的数据类型。
在创建表的同时,使用这些数据类型。 SQLite使用一个更一般的动态类型系统。在SQLite中值的数据类型相关联的值本身,而不是与它的容器。
SQLite的存储类:
每个值存储在SQLite数据库具有以下存储类之一:
存储类 | 描述 |
---|---|
NULL | The value is a NULL value. |
INTEGER | The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value. |
REAL | The value is a floating yiibai value, stored as an 8-byte IEEE floating yiibai number. |
TEXT | The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE) |
BLOB | The value is a blob of data, stored exactly as it was input. |
SQLite 的存储类别是稍微比数据类型更普遍。 INTEGER存储类,例如,包含6种不同的不同长度的整数数据类型。
SQLite的关联类型:
SQLite支持列上类型 affinity 概念。任何列仍然可以存储任何类型的数据,但的首选存储类,一列称为affinity 。 SQLite3数据库中的每个表列分配以下类型的affinity 之一:
Affinity | 描述 |
---|---|
TEXT | This column stores all data using storage classes NULL, TEXT or BLOB. |
NUMERIC | This column may contain values using all five storage classes. |
INTEGER | Behaves the same as a column with NUMERIC affinity with an exception in a CAST expression. |
REAL | Behaves like a column with NUMERIC affinity except that it forces integer values into floating yiibai representation |
NONE | A column with affinity NONE does not prefer one storage class over another and no attempt is made to coerce data from one storage class into another. |
SQLite Affinity 和类型名称:
下表列出了下来SQLite3的表和相应的应用affinity ,可用于各种数据类型名也已被证明:
Data Type | Affinity |
---|---|
| INTEGER |
| TEXT |
| NONE |
| REAL |
| NUMERIC |
Boolean 数据类型:
SQLite没有单独的布尔储存类。相反,逻辑值被存储为0(假)和1(真)的整数。
日期和时间数据类型:
SQLite 没有一个单独的存储类用于存储日期和/或时间,但SQLite是能够存储日期和时间为TEXT,REAL或INTEGER值。
存储类 | 日期格式 |
---|---|
TEXT | A date in a format like “YYYY-MM-DD HH:MM:SS.SSS”. |
REAL | The number of days since noon in Greenwich on November 24, 4714 B.C. |
INTEGER | The number of seconds since 1970-01-01 00:00:00 UTC. |
可以选择任何这些格式存储日期和时间之间自由转换格式,使用内置的日期和时间的功能。