← Все вопросы

Что такое тип данных столбца? Чем INTEGER отличается от TEXT?

Задан 19 месяцев назад1.1к просмотров2 ответа
5

При создании таблицы рядом со столбцами пишут INTEGER, TEXT и что-то ещё. Это обязательно? Что будет, если перепутать и в числовой столбец положить текст? Зачем вообще указывать тип?

2 ответа

9
✓ Принятый ответ — помог автору

Тип данных говорит базе, ЧТО будет лежать в столбце. Это помогает хранить данные правильно и не путать числа с текстом.

Самые ходовые типы:

  • INTEGER — целые числа (возраст, количество): 14, 100;
  • TEXT — текст, строки: 'Аня', 'привет';
  • REAL — дробные числа: 3.14, 9.99;
  • DATE / DATETIME — дата и время.

Зачем указывать тип:

  • В INTEGER можно нормально считать (сложить, сравнить age > 14).
  • TEXT нельзя складывать как числа: '14' + '15' — это не 29.
  • База может ругаться, если положить совсем не тот тип (например, текст в число), и так бережёт данные от мусора.

Простое правило: число для счёта — INTEGER/REAL, слова — TEXT.

3

Маленькая особенность: SQLite относится к типам мягко и многое разрешает, а «строгие» базы вроде PostgreSQL дадут ошибку, если положить текст в INTEGER. Поэтому привыкай сразу класть правильный тип — это хорошая дисциплина.

Ваш ответ

Войдите, чтобы ответить на вопрос.