一、SQLite中的数据类型
大多数SQL数据库引擎使用静态数据类型,每一列的数据声明决定了该列的数据类型。SQLite使用了一种更加通用的动态数据类型,数值本身决定数据类型,与每一列的数据声明无关。动态数据类型不仅使得SQLite能够向后兼容大多数的SQL引擎,而且能够做很多传统静态数据类型的SQL引擎做不到的时期。
二、存储类和数据类型
存储在SQLite中的数据有如下几种数据类型:
NULL,也就是NULL值。
INTERGER, 有符号整数,依据数值大小存储在1-8字节的存储空间中。
REAL,浮点数,8字节的浮点数。
BLOB,二进制数据,依照输入来定。
存储类比起数据类型更加通用。比如说INTERGER存储类,当从硬盘中读取6种整形数据放入内存处理时,统一处理为INTERGER这种存储类。
三、类型亲和性
静态存储类型的SQL数据库,会存在类型之间的自动转化。为了兼容这种转化,SQLite引入了类型亲和的概念,每一列可以存储任意类型的数据,但是会优先选择亲和类型的数据存储类进行转化。每一列有如下类型亲和进行选择:
TEXT
NUMBERIC
INTERGER
REAL
BLOB
一、类型亲和性
静态存储类型的SQL数据库,会存在类型之间的自动转化。为了兼容这种转化,SQLite引入了类型亲和的概念,每一列可以存储任意类型的数据,但是会优先选择亲和类型的数据存储类进行转化。每一列有如下类型亲和进行选择:
TEXT
NUMBERIC
INTERGER
REAL
BLOB
TEXT亲和类型存储了NULL, BLOB,TEXT存储类,数字类型数据插入时被被解释为TEXT然后被存储。