Типы данных

Последнее обновление: 26.11.2021

При определении столбцов таблицы для них необходимо указать тип данных. Каждый столбец имеет определенный тип данных. Для хранения данных в в SQLite применяются следующие типы:

  • NULL: указывает фактически на отсутствие значения

  • INTEGER: представляет целое число, которое может быть положительным и отрицательным и в зависимости от своего значения может занимать 1, 2, 3, 4, 6 или 8 байт

  • REAL: представляет число с плавающей точкой, занимает 8 байт в памяти

  • TEXT: строка текста в одинарных кавычках, которая сохраняется в кодировке базы данных (UTF-8, UTF-16BE или UTF-16LE)

  • BLOB: бинарные данные

Стоит отметить, что SQLite оперирует концепцией классов хранения или storage class. И по сути все эти пять типов называются классами хранения. Концепция классов хранения несколько шире, чем тип данных. Например, класс INTEGER по сути объединяет 6 различных целочисленных типов данных разной длины. Однако это больше относится к внутренней работе SQLite. И внешне, например, на уровне определения таблицы и работы с данными мы будем работать с типом INTEGER, а не со всеми реальными типами, которые скрываются за этим названием. Поэтому фактически классы хранения ассоциируются с типа данных. И выше представленные пять классов хранения также обычно называют типами данных и данные можно применять при определении столбцов:

CREATE TABLE users
(
    id INTEGER,
	name TEXT,
    age INTEGER,
	weight REAL,
	image BLOB
);

Кроме того, мы можем применять идентификатор NUMERIC. Этот идентификатор не представляет отдельного типа данных. А фактически представляет столбец, который может хранить данные всех пяти выше перечисленных типов (в терминологии SQLite NUMERIC еще называется type affinity). Например:

CREATE TABLE users
(
    id INTEGER,
	name TEXT,
    age NUMERIC
);
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850