📜  SQLite-数据类型

📅  最后修改于: 2021-01-04 04:55:27             🧑  作者: Mango


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

您将在创建表时使用这些数据类型。 SQLite使用更通用的动态类型系统。在SQLite中,值的数据类型与值本身(而不是其容器)相关联。

SQLite存储类

存储在SQLite数据库中的每个值都具有以下存储类别之一-

Sr.No. Storage Class & Description
1

NULL

The value is a NULL value.

2

INTEGER

The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

3

REAL

The value is a floating point value, stored as an 8-byte IEEE floating point number.

4

TEXT

The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE)

5

BLOB

The value is a blob of data, stored exactly as it was input.

SQLite存储类比数据类型更通用。例如,INTEGER存储类包括6种不同长度的不同整数数据类型。

SQLite关联类型

SQLite支持列上的类型相似性的概念。任何列仍然可以存储任何类型的数据,但列的首选存储类称为亲和性。 SQLite3数据库中的每个表列都分配了以下类型关联性之一-

Sr.No. Affinity & Description
1

TEXT

This column stores all data using storage classes NULL, TEXT or BLOB.

2

NUMERIC

This column may contain values using all five storage classes.

3

INTEGER

Behaves the same as a column with NUMERIC affinity, with an exception in a CAST expression.

4

REAL

Behaves like a column with NUMERIC affinity except that it forces integer values into floating point representation.

5

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关联性和类型名称

下表列出了各种数据类型名称,这些名称可以在创建具有相应应用相似性的SQLite3表时使用。

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

布尔数据类型

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

日期和时间数据类型

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

Sr.No. Storage Class & Date Formate
1

TEXT

A date in a format like “YYYY-MM-DD HH:MM:SS.SSS”

2

REAL

The number of days since noon in Greenwich on November 24, 4714 B.C.

3

INTEGER

The number of seconds since 1970-01-01 00:00:00 UTC

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