Подтвердить что ты не робот

Есть ли разница в использовании INT (1) и TINYINT (1) в MySQL?

Я полагаю, что INT (1) - это то же самое, что и TINYINT (1), но я действительно понятия не имею. Всякий раз, когда у меня есть значения, которые могут быть только одним целым числом (например, значением 0-9), я всегда использовал INT (1), чтобы сказать это целое число, и это будет только один символ, который, как я полагаю, означает, что это может быть только значение от 0 до 9 (пожалуйста, объясните это мне, если я ошибаюсь). Я всегда просто игнорировал другие типы INT, которые вы можете указать как число. Я не сообразителен в MySQL и стараюсь избегать более сложных вещей, которые вы можете с ним сделать.

Итак, мой вопрос, есть ли разница между различными целыми типами INT, TINYINT, SMALLINT, MEDIUMINT и BIGINT, если вы определяете длину 1 для каждого типа;? Если нет, использовать их в любом случае (я могу использовать их для более смыслового смысла, TINYINT более конкретный, чем просто INT)? Если да, могу ли я легко (и/или должен ли я) просто пройти через мою базу данных и изменить все мои поля INT (1) на поля TINYINT (1)?

4b9b3361

Ответ 2

здесь вы поймете это лучше!

tinyint: 1 byte, -128 to +127 / 0 to 255 (unsigned)
smallint: 2 bytes, -32,768 to +32,767 / 0 to 65,535 (unsigned)
mediumint: 3 bytes, -8,388,608 to 8,388,607 / 0 to 16,777,215 (unsigned)
int/integer: 4 bytes, -2,147,483,648 to +2,147,483,647 / 0 to 4,294,967,295 (unsigned)
bigint: 8 bytes, -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 / 0 to 18,446,744,073,709,551,615 (unsigned)