SQlite 在处理数据类型时与其他的数据库不同,区别在于它所支持的类型以及这些类型是如何存储、比较、强化(enforced)和指派(assign)的。下面将介绍 SQLite 存储类的基础。
一般情况下,SQLite 有 5 个原始的数据类型,被称为存储类。存储类通常是指值在磁盘上存储的格式,其实就是类型或数据类型的同义词。下表列出了这 5 个存储类型及说明。
| 名称 | 说明 |
|---|---|
| integer | 整数值是全部的数字(包括正和负)。整数可以是 1、2、3、4、6 或 8 字节。整数的最大范围(8字节)是 { -9223372036854775808,-1,0,1,+9223372036854775807 }。SQLite 根据数字的值自动控制整数所占的字节数 |
| real | 实数是十进制的数值。SQLite 使用 8 字节的浮点数来存储实数 |
| text | 文本是字符数据。SQLite 支持几种字符编码,包括 UTF-8 和 UTF-16(大字节头和小字节头)。字符串的最大值在编译和运行时可以调整,默认最大值是 1,000,000,000 字节 |
| blob | 二进制大对象(BLOB)数据可以是任意类型的数据,BLOB 的最大值在编译和运行时可以调整,默认最大值是 1,000,000,000 字节 |
| NULL | NULL 表示没有值。SQLite 具有对 NULL 的完全支持 |