SQLite数据库】sqlite支持哪些数据类型

2022-02-08 18:57发布

4条回答
zgtl_20
2楼 · 2022-02-09 09:24

SQLite原生支持5中数据类型:NULL、INTEGER、REAL、TEXT、BLOB。在SQLite中,所有数据最终都转化为该5中类型进行存储。

在SQLite中不支持BOOLEAN,在存储时,会将false转换为0,true转换为1。

同时SQLite不支持Date和Time数据类型,但是内置提供了一些时间操作函数,帮助用于转换为其他数据类型进行存储。


NULL值是一个 NULL 值。
INTEGER值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
REAL值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
TEXT值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
BLOB值是一个 blob 数据,完全根据它的输入存储。


征戰撩四汸
4楼 · 2022-02-09 14:31

1.NULL:空值。 
2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。 
3.REAL:浮点数字,存储为8-byte IEEE浮点数。 
4.TEXT:字符串文本。 
5.BLOB:二进制对象。

IT学习助手 - qq:2676427015
5楼 · 2022-03-24 08:59

  由于SQLite采用的是动态数据类型,而其他传统的关系型数据库使用的是静态数据类型。所以如果想知道SQLite支持那些数据类型,需要先弄清楚:动态数据类型和静态数据类型的区别。

  动态数据类型:数据库存储的数据类型和数据输入的类型是动态匹配的,简言之,定义了一个数据库字段为字符串TEXT类型,你也可以存入整型INTEGER的数据。

  静态数据类型:数据库存储的数据类型和数据输入的类型要求是一致的。简言之,字段可以存储的数据类型是在表声明时即以确定的。因此,SQLite和传统关系型数据库它们之间在数据存储方面还是存在着很大的差异。

  在SQLite中,存储分类和数据类型也有一定的差别。SQLite 数据类型是一个用来指定任何对象的数据类型的属性。SQLite 中的每一列,每个变量和表达式都有相关的数据类型。您可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。这种关系就体现在存储类型和数据类型的转换上,而这种关系映射是使用了Type Affinity的概念。

  SQLite的存储类型有下面五种:

11.png

  SQLite的Type Affinity有下面五种:

  SQLite 支持列上的类型 affinity 概念。任何列仍然可以存储任何类型的数据,但列的首选存储类是它的 affinity。在 SQLite3 数据库中,每个表的列分配为以下类型的 affinity 之一:

22.png


相关问题推荐

没有解决我的问题,去提问