SQLite 数据类型是一个属性,它指定创建表时将存储在每列中的数据类型。数据类型是 SQLite 理解每列中期望的数据类型的指南,它还标识 SQLite 如何与存储的数据交互。

存储在 SQLite 数据库中的每个值(或由数据库引擎操作)具有以下数据类型之一:

  • NUMERIC
  • INTEGER
  • REAL
  • TEXT
  • BLOB

为了与其他 SQL 数据库兼容,SQLite 允许使用其他数据库中使用的通用数据类型名称,并将它们映射到其基本 SQLite 数据类型(列)上面。

注意:"BLOB"数据类型过去被称为"NONE"。

SQLite 数字数据类型

SQLite 中的所有数值数据类型都会转换为 INTEGER、NUMERIC 或 REAL 数据类型。

以下是 SQLite 中的数值数据类型:

数据类型语法描述
TINYINT相当于 INTEGER
SMALLINT相当于 INTEGER
MEDIUMINT相当于 INTEGER
INT相当于 INTEGER
INTEGER相当于 INTEGER
BIGINT相当于 INTEGER
INT2相当于 INTEGER
INT4相当于 INTEGER
INT8相当于 INTEGER
UNSIGNED BIG INT相当于 INTEGER
NUMERIC相当于 NUMERIC
DECIMAL相当于 NUMERIC
REAL相当于 REAL
DOUBLE等于 REAL
DOUBLE PRECISION 等于 REAL
FLOAT相当于 REAL
BOOLEAN相当于 NUMERIC

SQLite 字符串数据类型

SQLite 中的所有字符串数据类型都会转换为 TEXT 数据类型。如果为字符串数据类型指定了大小,SQLite 将忽略它,因为它不允许对字符串数据类型进行大小限制。

以下是 SQLite 中的字符串数据类型:

数据类型语法描述
CHAR(size)相当于TEXT
CHARACTER(size)相当于 TEXT
VARYING CHARACTER(size)相当于TEXT
VARCHAR(size)相当于 TEXT
TINYTEXT(size)相当于TEXT
TEXT(size)相当于TEXT
MEDIUMTEXT (size)相当于TEXT
LONGTEXT(size)相当于TEXT
NCHAR(size)相当于TEXT
NVARCHAR(size)相当于TEXT
NATIVE CHARACTER(size)相当于 TEXT
CLOB(size)相当于 TEXT

SQLite 日期和时间数据类型

SQLite 中的所有日期或时间数据类型都会转换为 NUMERIC 数据类型。

以下是 SQLite 中的日期和时间数据类型:

数据类型语法描述
DATE相当于 NUMERIC
DATETIME相当于 NUMERIC
TIMESTAMP相当于 NUMERIC
TIME相当于 NUMERIC

SQLite 大对象 (LOB) 数据类型

以下是 SQLite 中的 LOB 数据类型:

数据类型语法说明
BLOB相当于 BLOB
no datatype specified
相当于到 BLOB