位置:首頁 > 數據庫 > SQLite教學 > SQLite 數據類型

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.

可以選擇任何這些格式存儲日期和時間之間自由轉換格式,使用內置的日期和時間的功能。