开发学院

您的位置:首页>教程>正文

教程正文

SQLite 数据类型

SQLite 数据类型

  SQLite数据类型是指定对象数据的属性。每个列、变量和表达式在SQLite中都有相关的数据类型。

  创建表时将使用这些数据类型。SQLite使用更通用的动态类型系统。在SQLite中,值的数据类型与值本身相关联,而不是与其容器相关联。

SQLite存储类

  存储在SQLite数据库中的每个值都具有以下存储类之一-

1.NULL:一个空值

2.INTEGER:该值是有符号整数,根据值的大小以1、2、3、4、6或8字节存储。

3.REAL:该值是浮点值,存储为8字节IEEE浮点数。

4.TEXT:该值是使用数据库编码( UTF - 8、UTF - 16BE或UTF - 16LE )存储的文本字符串

5.BLOB:该值是一大块数据,存储方式与输入时完全相同。

  SQLite存储类比数据类型略一般。例如,整数存储类包括6种不同长度的不同整数数据类型。

SQLite类型亲和性

  SQLite支持列上的类型关联性概念。任何列仍然可以存储任何类型的数据,但列的首选存储类称为其关联性。SQLite3数据库中的每个表列都分配有以下类型的关联性之一

1.TEXT:此列使用存储类NULL、文本或BLOB存储所有数据

2.NUMERIC:此列可能包含使用所有五个存储类的值。

3.INTEGER:行为与具有数值关联性的资料行相同,但转换运算式中有例外.

4.REAL:行为类似于具有数值相似性的列,不同之处在于它将整数值强制为浮点表示。

5.NONE:具有关联性NONE的资料行不会偏好一个储存类别,也不会尝试强制资料从一个储存类别进入另一个储存类别。

SQLite关联性和类型名称

  下表列出了创建具有相应应用关联性的SQLite3表时可以使用的各种数据类型名称。

               


  //


//


//


//



数据类型 关联

INT

INTEGER

TINYINT

SMALLINT

MEDIUMINT

BIGINT

UNSIGNED BIG INT

INT2

INT8

INTEGER

CHARACTER(20)

VARCHAR(255)

VARYING CHARACTER(255)

NCHAR(55)

NATIVE CHARACTER(70)

NVARCHAR(100)

TEXT

CLOB

TEXT

BLOB

no datatype specified

NONE

REAL

DOUBLE

DOUBLE PRECISION

FLOAT

REAL

NUMERIC

DECIMAL(10,5)

BOOLEAN

DATE

DATETIME

NUMERIC

Boolean数据类型

  SQLite没有单独的布尔存储类。相反,布尔值存储为整数0 ( false )和1 ( true )。

日期和时间数据类型

  SQLite没有单独的存储类来存储日期和/或时间,但SQLite能够将日期和时间存储为文本、实数或整数值。

1.TEXT:格式类似"YYYY-MM-DD HH:MM:SS.SSS"

2.REAL:格林威治时间:从公元前4568年11月24日中午算起的天数

3.INTEGER:自1970 - 01- 01 00 : 00 : 00 UTC以来的秒数

  您可以选择以任何这些格式存储日期和时间,并使用内置的日期和时间在格式之间自由转换functions.