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 |