English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основное руководство по SQLite

Дополнительное руководство по SQLite

Программный интерфейс SQLite

Типы данных SQLite

Тип данных SQLite - это атрибут, который указывает тип данных любого объекта. У каждой строки, переменной и выражения в SQLite есть соответствующий тип данных.

Эти типы данных будут использоваться при создании таблиц. SQLite использует более универсальную систему динамических типов. В SQLite тип данных значения связан с самим значением, а не с его контейнером.

Типы хранения SQLite

Каждое значение, хранящееся в базе данных SQLite, имеет один из следующих типов хранения:

НомерКлассы хранения и описание
1

NULL

Эта величина представляет собой значение NULL.

2

INTEGER

Эта величина представляет собой целое число со знаком, хранящееся в 1, 2, 3, 4, 6 или 8 байтах в зависимости от размера значения.

3

REAL

Эта величина представляет собой плавающую точку, хранящуюся в виде 8-битного числа IEEE.

4

TEXT

Эта величина представляет собой текстовую строку, хранящуюся в кодировке базы данных (UTF-8, UTF-16BE или UTF-16LE).

5

BLOB

Эта величина представляет собой каплю данных, хранящуюся полностью в соответствии с вводом.

Классы хранения SQLite более общие, чем типы данных. Например, класс хранения INTEGER включает шесть различных типов целых чисел различной длины.

Типы связанности SQLite

SQLite поддерживает концепцию типа данных, аналогичного столбцам. Любой столбец может хранить данные любого типа, но предпочтительный класс хранения столбца называется аффинитетом. В каждой таблице базы данных SQLite3 каждому столбцу назначается один из следующих типов связанности:

НомерАффинитет и описание
1

TEXT

Этот столбец использует класс хранения NULL, TEXT или BLOB для хранения всех данных.

2

NUMERIC

Этот столбец может содержать значения, использующие все пять классов хранения.

3

INTEGER

Поведение аналогично столбцам с аффинитетом NUMERIC, за исключением CAST-выражения.

4

REAL

Поведение аналогично столбцам с аффинитетом NUMERIC, но с тем отличием, что он принудительно преобразует целые значения в浮инговое представление.

5

NONE

Столбцы с аффинитетом NONE не предпочитают один класс хранения вместо другого и не пытаются принудительно преобразовать данные из одного класса хранения в другой.

Связанность и типы имен SQLite

В таблице ниже перечислены различные имена типов данных, которые можно использовать при создании таблиц SQLite3 с соответствующей прикладной аналогичностью.

Тип данныхАффинитет
  • 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

  • Не указан тип данных

NONE
  • REAL

  • DOUBLE

  • DOUBLE PRECISION

  • FLOAT

REAL
  • NUMERIC

  • DECIMAL(10,5)

  • BOOLEAN

  • DATE

  • DATETIME

NUMERIC

Тип данных булево

SQLite не имеет отдельного класса хранения для булевых значений. Вместо этого булевые значения хранятся как целые числа 0 (false) и 1 (true).

Тип данных дата и время

SQLite не имеет отдельного класса хранения для даты и/или времени, но SQLite может хранить даты и время в виде значений TEXT, REAL или INTEGER.

НомерХранение категорий и форматов даты
1

TEXT

Формат даты: “YYYY-MM-DD HH:MM:SS.SSS”

2

REAL

Число дней с 24 ноября 4714 года до н. э. по среднему времени в Гринвичу

3

INTEGER

Число секунд с 1970-01-01 00:00:00 UTC

Вы можете выбирать формат хранения даты и времени и свободно конвертировать между ними с помощью встроенных функций даты и времени.