SQLite的数据类型

本文概要

  • SQLite的Afinity类型
  • SQLite的Afinity类型名称
  • 日期和时间数据类型
  • 布尔数据类型
SQLite的数据类型被用来指定任何对象的数据的类型。每一列中,变量和表达式已在SQLite的相关数据类型。这些数据类型在创建表中使用。 SQLite的使用更一般的动态类型系统。 SQLite中,一个值的数据类型与值本身相关联,而不是与它的容器。
SQLite的数据类型的类型
SQLite的存储类型
在SQLite数据库所存储的值具有如下的存储类中的一种:
存储类描述
NULL它指定该值为空值。
整数它指定值是一个带符号的整数,根据值的大小以1、2、3、4、6或8字节的形式存储。
REAL它指定的值是浮点值,存储为一个8字节的IEEE浮点数。
text它指定值是一个文本字符串,使用数据库编码(utf-8、utf-16be或utf-16le)存储
BLOB它指定值是一个数据blob,存储与输入时完全相同。
注:SQLite的存储类比数据类型稍微一般。例如:整数存储类包括不同长度的6种不同的整数数据类型。SQLite的Afinity类型SQLite支持用于列型Afinity力。任何列仍然可以存储任何类型的数据,但对一列中的优选的存储类被称为它的Afinity力。
有用于在sqlite3的数据库指定以下类型的Afinity力。
Afinity描述
TEXT此列用于使用存储类NULL、TEXT或BLOB存储所有数据。
NUMBER此列可能包含使用所有五个存储类的值。
INTEGER它的行为一样与在流延表达异常数字Afinity性的柱。
REAL它的行为类似于具有数值关联性的列,只不过它将整数值强制转换为浮点表示形式
NONE具有关联性NONE的列不喜欢一个存储类而不喜欢另一个存储类,并且不将来自一个存储类的数据说服到另一个存储类。
SQLite的Afinity类型名称以下是可以在创建的SQLite表中使用的各种数据类型的名称的列表。
数据类型相应的Afinity
INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8INTEGER
CHARACTER(20)VARCHAR(255)可变字符(255)NCHAR(55)本地字符(70)NVARCHAR(100)TEXT CLOBTEXT
BLOB no datatype specified没有
REAL DOUBLE DOUBLE PRECISION FLOATREAL
NUMERIC DECIMAL(10,5)BOOLEAN DATE DATETIMENUMERIC
日期和时间数据类型在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的数据类型】SQLite中,没有一个单独的布尔存储类。相反,布尔值存储为整数0(假)和1(真)。

    推荐阅读