SQLite数据类型是一个属性,用于指定任何对象的数据类型。每个列,变量和表达式在SQLite中都有相关的数据类型。
您将在创建表时使用这些数据类型。SQLite使用更通用的动态类型系统。在SQLite中,值的数据类型与值本身相关联,而不是与其容器相关联。
存储在SQLite数据库中的每个值都具有以下存储类别之一-
序号 | 储存类别和说明 |
---|---|
1 |
该值为NULL值。 |
2 |
该值是一个有符号整数,根据值的大小存储在1、2、3、4、6或8个字节中。 |
3 |
该值是一个浮点值,存储为8字节IEEE浮点数。 |
4 |
该值是一个文本字符串,使用数据库编码(UTF-8,UTF-16BE或UTF-16LE)存储 |
5 |
该值是数据的一滴,完全按输入存储。 |
SQLite存储类比数据类型更通用。例如,INTEGER存储类包括6种不同长度的不同整数数据类型。
SQLite支持列上的类型相似性的概念。 任何列仍然可以存储任何类型的数据,但是列的首选存储类称为亲和力。 SQLite3数据库中的每个表列都分配了以下类型关联性之一-
序号 | 亲和力和描述 |
---|---|
1 |
该列使用存储类NULL,TEXT或BLOB存储所有数据。 |
2 |
该列可能包含使用所有五个存储类的值。 |
3 |
行为与具有NUMERIC相关性的列相同,但CAST表达式除外。 |
4 |
行为类似于具有NUMERIC关联性的列,不同之处在于它强制将整数值转换为浮点表示形式。 |
5 |
亲和性为NONE的列不喜欢一个存储类别而不是另一个存储类别,也没有尝试将数据从一个存储类别强制转换为另一个存储类别。 |
下表列出了各种数据类型名称,这些名称可以在创建具有相应应用相似性的SQLite3表时使用。
数据类型 | 亲和力 |
---|---|
| INTEGER |
| TEXT |
| NONE |
| REAL |
| NUMERIC |
SQLite没有单独的布尔存储类。而是将布尔值存储为整数0(false)和1(true)。
SQLite没有用于存储日期和/或时间的单独存储类,但是SQLite能够将日期和时间存储为TEXT,REAL或INTEGER值。
序号 | 存储类别和日期格式 |
---|---|
1 |
日期格式为“ YYYY-MM-DD HH:MM:SS.SSS” |
2 |
公元前4714年11月24日格林威治正午以来的天数。 |
3 |
自1970-01-01 00:00:00 UTC以来的秒数 |
您可以选择以这些格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。