SQLite -数据类型
SQLite数据类型是一个属性,用于指定类型的任何对象的数据。每一列,变量和表达式在SQLite相关的数据类型。
你会使用这些数据类型在创建表。SQLite使用一个更一般的动态类型系统。在SQLite,值的数据类型与价值本身有关,而不是它的容器。
SQLite存储类:
每个值存储在一个SQLite数据库的存储类:
存储类 | 描述 |
NULL | 值是一个空值。 |
INTEGER | 存储的值是有符号整数,1、2、3、4、6、8字节取决于值的大小。 |
REAL | 值是一个浮点值,存储为一个8字节IEEE浮点数。 |
TEXT | 存储的值是一个文本字符串,使用数据库编码(utf - 8,UTF-16BE或UTF-16LE) |
BLOB | 数据的值是一个blob存储完全输入。 |
SQLite存储类一般略高于一个数据类型。整数存储类,例如,包括6个不同长度的整数数据类型不同。
SQLite关联类型:
SQLite支持类型关联的概念在列。仍然可以存储任何类型的数据但任何列一列的首选存储类被称为它的亲和力。SQLite3数据库中的每个表列分配下列类型之一的相似之处:
关联类型 | 描述 |
TEXT | 使用存储类空这个列存储所有数据,文本或BLOB。 |
NUMERIC | 这列可能包含值使用所有五个存储类。 |
INTEGER | 行为一样一列数字亲和力与异常表达。 |
REAL | 表现像一列数字亲和力除了它迫使整数值转换成浮点数表示 |
NONE | 一列与亲和力都不喜欢一种存储类,没有尝试强迫数据从一个存储类到另一个。 |
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. |
可以选择任何这些格式存储日期和时间之间自由转换格式,使用内置的日期和时间的功能。