MySQL - TINYINT: руковод BEGINNERS
Привет, будущие маги баз данных! Сегодня мы окунемся в мир MySQL и рассмотрим крошечный, но могущественный тип данных: TINYINT. Не позволяйте его размеру обмануть вас;这个小家伙 может быть очень эффективным при хранении малых целых чисел. Так что наденьте свои виртуальные каски и начнем исследовать мир TINYINT!
Тип данных TINYINT в MySQL
Что такое TINYINT?
TINYINT - один из целочисленных типов данных MySQL, предназначенный для хранения малых целых чисел. Представьте его как компактный автомобиль в мире целых чисел – малый, эффективный и идеальный для коротких поездок (или в нашем случае, малых чисел).
Основные характеристики
- Размер: TINYINT использует всего 1 байт памяти.
- Диапазон:
- Знаковый: от -128 до 127
- Беззнаковый: от 0 до 255
Когда использовать TINYINT
TINYINT идеально подходит для сценариев, где вам нужно хранить малые целые значения. Например:
- Возраст (0-255 лет должно хватить, правда? Даже для вампиров!)
- Оценки (1-5 звезд)
- Малые счетчики
- Булевы значения (0 или 1)
Синтаксис
column_name TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Рассмотрим это подробнее:
-
M
: Опциональная ширина отображения (0-255) -
UNSIGNED
: Делает диапазон от 0 до 255 -
ZEROFILL
: Заполняет отображение значений ведущими нулями
TINYINT в действии: использование клиентской программы
Теперь, наденьте перчатки и посмотрите, как TINYINT работает на практике. Мы рассмотрим несколько примеров, чтобы проиллюстрировать, как работать с этим типом данных в MySQL.
Создание таблицы с TINYINT
Создадим простую таблицу для хранения информации о системе оценок книг:
CREATE TABLE book_ratings (
id INT AUTO_INCREMENT PRIMARY KEY,
book_name VARCHAR(100),
rating TINYINT UNSIGNED,
is_recommended TINYINT(1)
);
В этом примере:
-
rating
использует TINYINT UNSIGNED для хранения оценок от 0 до 5. -
is_recommended
использует TINYINT(1) в качестве булева (0 для ложно, 1 для истины).
Ввод данных
Добавим несколько оценок книг:
INSERT INTO book_ratings (book_name, rating, is_recommended)
VALUES
(' руковод MySQL', 5, 1),
('SQL для чайников', 3, 0),
('Дизайн баз данных 101', 4, 1);
Запрос данных TINYINT
Теперь давайте получим наши данные:
SELECT * FROM book_ratings;
Результат:
+----+----------------------+--------+----------------+
| id | book_name | rating | is_recommended |
+----+----------------------+--------+----------------+
| 1 | The MySQL Handbook | 5 | 1 |
| 2 | SQL for Dummies | 3 | 0 |
| 3 | Database Design 101 | 4 | 1 |
+----+----------------------+--------+----------------+
Использование TINYINT в условиях
TINYINT отлично работает в предложениях WHERE:
SELECT book_name, rating
FROM book_ratings
WHERE rating > 3 AND is_recommended = 1;
Этот запрос выбирает книги с высокими оценками и рекомендациями.
TINYINT в качестве булева
Хотя в MySQL есть тип BOOLEAN, он на самом деле является синонимом TINYINT(1). Вот как его использовать:
CREATE TABLE task_list (
id INT AUTO_INCREMENT PRIMARY KEY,
task_name VARCHAR(100),
is_completed BOOLEAN
);
INSERT INTO task_list (task_name, is_completed)
VALUES
('Изучить MySQL', TRUE),
('Мастер TINYINT', FALSE);
SELECT * FROM task_list;
Результат:
+----+----------------+--------------+
| id | task_name | is_completed |
+----+----------------+--------------+
| 1 | Learn MySQL | 1 |
| 2 | Master TINYINT | 0 |
+----+----------------+--------------+
Методы и функции TINYINT
Вот таблица полезных методов и функций для работы с TINYINT:
Метод/Функция | Описание | Пример |
---|---|---|
ABS() | Возвращает абсолютное значение | SELECT ABS(TINYINT_COLUMN) FROM TABLE; |
SIGN() | Возвращает знак (-1, 0, или 1) | SELECT SIGN(TINYINT_COLUMN) FROM TABLE; |
MOD() | Возвращает остаток | SELECT MOD(TINYINT_COLUMN, 3) FROM TABLE; |
GREATEST() | Возвращает наибольшее значение | SELECT GREATEST(TINYINT_COL1, TINYINT_COL2) FROM TABLE; |
LEAST() | Возвращает наименьшее значение | SELECT LEAST(TINYINT_COL1, TINYINT_COL2) FROM TABLE; |
Заключение
И вот мы рассмотрели TINYINT в MySQL. От его compactного размера до его versatility в хранении малых целых чисел и даже булевых значений, TINYINT доказывает, что иногда最好的 вещи приходят в маленьких упаковках.
помните, что выбор правильного типа данных критически важен для производительности и эффективности базы данных. TINYINT может показаться маленьким, но он может сыграть большую роль при работе с миллионами строк!
Продолжая свое путешествие в MySQL, держите TINYINT в своем инструменте. Он как надежный карманный нож – мал, но невероятно полезен, когда он вам нужен. Удачи в программировании, и пусть ваши базы данных всегда будут оптимизированы!
Credits: Image by storyset