SQLite 数据类型

SQLite 的数据类型是一个属性来指定任何对象的数据类型。 SQLite中的每一列,变量和表达式相关的数据类型。

在创建表的同时,使用这些数据类型。 SQLite使用一个更一般的动态类型系统。在SQLite中值的数据类型相关联的值本身,而不是与它的容器。

SQLite的存储类:

每个值存储在SQLite数据库具有以下存储类之一:

存储类 描述
NULL The value is a NULL value.
INTEGER The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
REAL The value is a floating yiibai value, stored as an 8-byte IEEE floating yiibai number.
TEXT The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE)
BLOB The value is a blob of data, stored exactly as it was input.

SQLite 的存储类别是稍微比数据类型更普遍。 INTEGER存储类,例如,包含6种不同的不同长度的整数数据类型。

SQLite的关联类型:

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

Affinity 描述
TEXT This column stores all data using storage classes NULL, TEXT or BLOB.
NUMERIC This column may contain values using all five storage classes.
INTEGER Behaves the same as a column with NUMERIC affinity with an exception in a CAST expression.
REAL Behaves like a column with NUMERIC affinity except that it forces integer values into floating yiibai representation
NONE A column with affinity NONE does not prefer one storage class over another and no attempt is made to coerce data from one storage class into another.

SQLite Affinity 和类型名称:

下表列出了下来SQLite3的表和相应的应用affinity ,可用于各种数据类型名也已被证明:

Data Type Affinity
  • INT

  • INTEGER

  • TINYINT

  • SMALLINT

  • MEDIUMINT

  • BIGINT

  • UNSIGNED BIG INT

  • INT2

  • INT8

INTEGER
  • CHARACTER(20)

  • VARCHAR(255)

  • VARYING CHARACTER(255)

  • NCHAR(55)

  • NATIVE CHARACTER(70)

  • NVARCHAR(100)

  • TEXT

  • CLOB

TEXT
  • BLOB

  • no datatype specified

NONE
  • REAL

  • DOUBLE

  • DOUBLE PRECISION

  • FLOAT

REAL
  • NUMERIC

  • DECIMAL(10,5)

  • BOOLEAN

  • DATE

  • DATETIME

NUMERIC

Boolean 数据类型:

SQLite没有单独的布尔储存类。相反,逻辑值被存储为0(假)和1(真)的整数。

日期和时间数据类型:

SQLite 没有一个单独的存储类用于存储日期和/或时间,但SQLite是能够存储日期和时间为TEXT,REAL或INTEGER值。

存储类 日期格式
TEXT A date in a format like “YYYY-MM-DD HH:MM:SS.SSS”.
REAL The number of days since noon in Greenwich on November 24, 4714 B.C.
INTEGER The number of seconds since 1970-01-01 00:00:00 UTC.

可以选择任何这些格式存储日期和时间之间自由转换格式,使用内置的日期和时间的功能。

        原文作者:SQLite教程
        原文地址: https://www.yiibai.com/sqlite/sqlite_data_types.html
        本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
    点赞