加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3:数据类型

发布时间:2020-12-12 23:39:22 所属栏目:百科 来源:网络整理
导读:原文地址:http://www.sqlite.org/datatype3.html sqlite3的支持“生活中的”数据类型有: NULL、BLOB、INTEGER、REAL、TEXT 我说它是“生活中的数据类型”,因为怕它和下面的column类型(sqlite只有四种)相混乱。 注意:sqlite的所有类型都会根据实现输入

原文地址:http://www.sqlite.org/datatype3.html

sqlite3的支持“生活中的”数据类型有:

NULL、BLOB、INTEGER、REAL、TEXT

我说它是“生活中的数据类型”,因为怕它和下面的column类型(sqlite只有四种)相混乱。

注意:sqlite的所有类型都会根据实现输入变化的,可以说是弱数据类型

In SQLite version 3,the type of a value is associated with the value itself,not with the column or variable in which the value is stored. (This is sometimes called manifest typing.) All other SQL databases engines that we are aware of use the more restrictive system of static typing where the type is associated with the container,not the value.

上面的一段内容不是很明白,可能是说:sqlite3会根据待插入的数据的类型去改变column的类型。

sqlite3里实际被支持的类型有:

Each column in an SQLite 3 database is assigned one of the following type affinities:

  • TEXT
  • NUMERIC
  • INTEGER
  • REAL
  • NONE

column的类型只要作用:转换数据的过程。

TEXT过程:把所有插入的数据转换为TEXT存入数据库。

NUMERIC把转换过程:INTEGER、REAL、TEXT

INTEGER过程:INTEGER、TEXT

REAL过程:REAL、TEXT

NONE过程:数据库本身就是这个none值的。

=========

由于sqlite3只有两个类型,所以如果你声明为其它的类型,sqlite3会自动把它转换类型:

  1. INT就是INTEGER.
  2. CHAR、CLOB、TEXT、VARCHAR都为TEXT.
  3. BLOB为NONE.
  4. REAL、DOUB、FLOAT都为REAL
  5. 其它的为NUMERIC.

现在有两个问题:

  1. NONE会不会转换为其它类型?
  2. 把text内容存放在numberic里,是不是读出的就是numberic呢?(相反情况呢?)
  3. 要了解sqlite把数据转换了text的过程(是不是相当于用uu模块一样的方法)?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读