В SQL (и в реляционных базах данных в целом) типы данных определяют, какие виды информации могут храниться в столбцах таблиц. SQL включает в себя базовые типы данных, такие как INTEGER
, TEXT
, REAL
, и BLOB
. SQLite, как одна из реляционных СУБД, реализует эти типы данных, но с определённой спецификой, которая делает её более гибкой и в то же время отличной от других СУБД.
Давайте рассмотрим основные типы данных в SQL и их особенности в SQLite.
1. INTEGER (целочисленный тип)
INTEGER — это тип данных для хранения целых чисел. В SQL целые числа могут быть положительными или отрицательными и различаться по размеру (например, INT
, BIGINT
).
INTEGER в SQLite
- Хранение: SQLite хранит целые числа в формате до 8 байт, что позволяет хранить значения от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.
- Особенность: SQLite автоматически выбирает оптимальное количество байт для хранения числа, исходя из его размера.
- PRIMARY KEY: Если столбец объявлен как
INTEGER PRIMARY KEY
, SQLite автоматически задаёт ему уникальные значения для каждой строки, что делает его аналогом автоинкрементируемого идентификатора.
Пример создания таблицы с типом INTEGER:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
age INTEGER,
score INTEGER
);