SQLite - 数据类型

来源:这里教程网 时间:2026-03-25 11:29:19 作者:

简述

SQLite 数据类型是一个属性,用于指定任何对象的数据类型。SQLite 中的每个列、变量和表达式都有相关的数据类型。 您将在创建表时使用这些数据类型。SQLite 使用更通用的动态类型系统。在 SQLite 中,值的数据类型与值本身相关联,而不是与其容器相关联。

SQLite 存储类

存储在 SQLite 数据库中的每个值都具有以下存储类之一 - 序号 存储类别和描述 1 NULL 该值为 NULL 值。 2 INTEGER 该值是一个有符号整数,根据值的大小存储在 1、2、3、4、6 或 8 个字节中。 3 REAL 该值是一个浮点值,存储为一个 8 字节的 IEEE 浮点数。 4 TEXT 该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储 5 BLOB 该值是一组数据,完全按照输入的方式存储。 SQLite 存储类比数据类型更通用。例如,INTEGER 存储类包括 6 种不同长度的不同整数数据类型。

SQLite 关联类型

SQLite支持列上的类型关联概念。任何列仍然可以存储任何类型的数据,但列的首选存储类称为其关联。SQLite3数据库中的每个表列都被分配了以下类型关联之一 序号 亲和力和描述 1 TEXT 此列使用存储类 NULL、TEXT 或 BLOB 存储所有数据。 2 NUMERIC 此列可能包含使用所有五个存储类别的值。 3 INTEGER 行为与具有 NUMERIC 关联的列相同,但在 CAST 表达式中除外。 4 REAL 行为类似于具有 NUMERIC 关联的列,除了它强制整数值转换为浮点表示。 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 没有指定数据类型 NONE REAL DOUBLE DOUBLE PRECISION FLOAT REAL NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME NUMERIC

布尔数据类型

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

日期和时间数据类型

SQLite 没有单独的存储类来存储日期和/或时间,但 SQLite 能够将日期和时间存储为 TEXT、REAL 或 INTEGER 值。 序号 存储类别和日期格式 1 TEXT 格式为“YYYY-MM-DD HH:MM:SS.SSS”的日期 2 REAL 公元前 4714 年 11 月 24 日格林威治中午以来的天数 3 INTEGER 自 1970-01-01 00:00:00 UTC 以来的秒数 您可以选择以任何这些格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。

相关推荐

热文推荐