← Все вопросы
Что такое тип данных столбца? Чем INTEGER отличается от TEXT?
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. Поэтому привыкай сразу класть правильный тип — это хорошая дисциплина.
Ваш ответ
Войдите, чтобы ответить на вопрос.