SQLite 数据类型2024 年 8 月 29 日 | 阅读 3 分钟 SQLite 数据类型用于指定任何对象的数据类型。每个列、变量和表达式在 SQLite 中都有相关的数据类型。这些数据类型在创建表时使用。SQLite 使用更通用的动态类型系统。在 SQLite 中,值的 数据类型 与值本身相关联,而不是与它的容器相关联。 SQLite 数据类型SQLite 存储类别 SQLite 数据库中存储的值具有以下存储类别之一 存储类 | 描述 |
---|
NULL | 它指定该值为 null 值。 | INTEGER | 它指定该值为带符号整数,根据值的幅度,以 1、2、3、4、6 或 8 个字节存储。 | REAL | 它指定该值为浮点值,存储为 8 字节 IEEE 浮点数。 | text | 它指定该值为文本字符串,使用数据库编码(utf-8、utf-16be 或 utf-16le)存储 | BLOB | 它指定该值为数据块,存储方式与输入完全相同。 |
注意:SQLite 存储类别比数据类型更通用。例如:INTEGER 存储类别包括 6 种不同长度的整数数据类型。
SQLite 亲和类型SQLite 支持列的类型亲和性。任何列仍然可以存储任何类型的数据,但列的首选存储类别称为其亲和性。 以下是用于在 SQLite3 数据库中分配的类型亲和性。 亲和性 | 描述 |
---|
TEXT | 此列用于使用存储类别 NULL、TEXT 或 BLOB 存储所有数据。 | NUMERIC | 此列可以使用所有五个存储类别的值。 | INTEGER | 它的行为与具有数值亲和性的列相同,但 cast 表达式除外。 | REAL | 它的行为类似于具有数值亲和性的列,但它强制将整数值转换为浮点数表示形式 | NONE | 具有 NONE 亲和性的列不倾向于一个存储类别而不是另一个存储类别,并且不会将数据从一个存储类别转换到另一个存储类别。 |
SQLite 亲和性和类型名称以下是创建 SQLite 表时可以使用的各种数据类型名称的列表。 数据类型 | 对应亲和性 |
---|
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 中,没有单独的类来存储日期和时间。但是,您可以将日期和时间存储为 TEXT、REAL 或 INTEGER 值。 存储类 | 日期格式 |
---|
TEXT | 它指定日期,格式类似于“yyyy-mm-dd hh:mm:ss.sss”。 | REAL | 它指定自公元前 4714 年 11 月 24 日格林威治时间中午以来经过的天数。 | INTEGER | 它指定自 1970-01-01 00:00:00 utc 以来经过的秒数。 |
布尔数据类型在 SQLite 中,没有单独的布尔存储类别。相反,布尔值存储为整数 0(false)和 1(true)。
|