SQLite 数据类型:整数 (int)、文本 (text)、数值 (Numeric)、实数 (Real)、二进制大对象 (Blob)。
⚡ 智能摘要
SQLite 与其他数据库相比,数据类型的工作方式有所不同,因为 SQLite 使用动态类型ping可以将任何值存储在任何列中。存储类、类型亲和性和声明的类型名称共同决定了每个值在磁盘上的物理保存方式。

以下各节解释了如何 SQLite 本书处理数据类型,从五种存储类别开始,然后是类型亲和性及其赋值规则,最后是存储整数、实数、BLOB、布尔值和日期的示例。
中的数据类型 SQLite 与其他数据库管理系统有所不同。 SQLite您可以像往常一样声明数据类型,但仍然可以将任何值存储在任何数据类型中。
SQLite 它是无类型的。没有固定的数据类型;你可以在任何列中存储任何类型的数据。这称为动态类型。ping.
在静态类型中,就像在其他数据库管理系统中一样,如果你声明了一个数据类型为整数的列,那么你只能插入数据类型为整数的值。然而,在动态类型中,就像在其他数据库管理系统中一样,如果你声明了一个数据类型为整数的列,那么你只能插入数据类型为整数的值。 SQLite列的类型由插入的值决定,然后 SQLite 根据其类型存储该值。
SQLite 储存类别
In SQLite 根据值的类型,有不同的存储方法;这些不同的存储方法被称为存储类。 SQLite.
以下是可用的存储类别 SQLite:
- 无 – 此存储类用于存储任何 NULL 值。
- INTEGER 任何数值都以有符号整数值的形式存储(可以存储正整数和负整数值)。整数值 SQLite 根据数字的值,存储在 1、2、3、4、6 或 8 个字节的存储空间中。
- REAL – 此存储类用于存储浮点值,它们存储在 8 字节的存储空间中。
- 文字 – 存储文本字符串。它还支持不同的编码,例如 UTF-8、UTF-16BE 或 UTF-16LE。
- BLOB 用于存储大型文件,例如图像或文本文件。存储的值与输入值一样,都是字节数组。
SQLite 亲和类型
类型亲和性是指推荐存储在列中的数据类型。当然,您仍然可以根据需要存储任何类型的数据;这些类型只是推荐的,并非必需。
这些类型被引入于 SQLite 最大限度地提高之间的兼容性 SQLite 和别的 数据库管理系统s.
在 SQLite 数据库会根据其声明的数据类型被分配一个类型关联性。以下是类型关联性的列表。 SQLite:
- 文本。
- 数字。
- 整数。
- 真实的。
- 斑点。
这是怎么回事 SQLite 根据列声明的数据类型确定列的关联性:
- 如果声明的类型包含 绳子 “INT”。
- 如果列的数据类型包含以下字符串之一:“TEXT”、“CHAR”或“CLOB”,则分配 TEXT 亲和性。例如,VARCHAR 类型将被分配 TEXT 亲和性。
- 如果列没有指定类型或数据类型是 BLOB,则会分配 BLOB 亲和性。
- 如果类型包含以下字符串之一:“DOUB”、“REAL”或“FLOAT”,则分配 REAL 亲和性。
- NUMERIC 亲和性被分配给任何其他数据类型。
下方还有一个表格,展示了一些地图示例。ping 之间 SQLite 数据类型及其亲和性由以下规则决定:
存储数据类型的示例 SQLite
使用以下方式存储数字 SQLite INTEGER
如果任何列的数据类型包含“INT”字样,则该列将被赋予INTEGER类型关联性,并存储在INTEGER存储类中。
以下所有数据类型都被赋予了 INTEGER 类型关联性:
- INT,整数,BIGINT。
- INT2、INT4、INT8。
- TINYINT、SMALLINT、MEDIUMINT。
INTEGER 类型亲和性 SQLite 可以存储 1 字节到最多 8 字节的任何指定整数(正数或负数)。
使用以下方式存储数字 SQLite REAL
实数是具有双浮点精度的数字。 SQLite 将实数存储为 8 字节数组。以下是数据类型列表。 SQLite 你可以使用它来存储实数:
- 真实的。
- 双倍的。
- 双精度。
- 漂浮。
使用 SQLite BLOB
存储大型文件只有一种方法 SQLite 数据库使用的是 BLOB 数据类型。这种数据类型用于存储大型文件,例如图像或任何类型的文件。文件会被转换为字节数组,然后以与输入文件相同的大小存储。
储存 SQLite 布尔
SQLite 没有单独的 BOOLEAN 存储类。相反,BOOLEAN 值以整数形式存储,其中 0 表示假,1 表示真。
储存 SQLite 日期和时间
您可以在以下位置声明日期或日期时间: SQLite 使用下列数据类型之一:
- 日期
- 日期时间
- TIMESTAMP
- 时间
请注意,没有单独的 DATE 或 DATETIME 存储类。 SQLite相反,任何使用上述数据类型之一声明的值都将根据插入值的日期格式存储在相应的存储类中,如下所示:
- 文字 – 如果您以 ISO8601 字符串格式(“YYYY-MM-DD HH:MM:SS.SSS”)插入日期值。
- REAL – 如果您将日期值作为儒略日数字插入,则表示自公元前 4714 年 11 月 24 日格林尼治中午以来的天数。然后,日期值将存储为 REAL 类型。
- INTEGER –作为 Unix的 时间,自 1970-01-01 00:00:00 UTC 以来的秒数。

