MySQL - INT: руковод novičkov
Привет,野心勃勃 база данных энтузиасты! Сегодня мы окунемся в мир MySQL и рассмотрим одну из его самых fundamental данных типов: INT. Не волнуйтесь, если вы новички в программировании - я буду вести вас через это путешествие шаг за шагом, как я делал для countless студентов на протяжении многих лет моего преподавания. Так что натяните рукава и начнем!
Тип данных MySQL INT
Тип данных INT в MySQL resembles силен, надежный рабочий скакун в семействе числовых данных типов. Он используется для хранения целых чисел (целых чисел) без каких-либо десятичных знаков. Представьте его как коробку, которая может удерживать числа от -2,147,483,648 до 2,147,483,647. Это много чисел!
Давайте создадим простую таблицу, чтобы увидеть INT в действии:
CREATE TABLE my_first_table (
id INT,
age INT,
score INT
);
В этом примере мы создали таблицу под названием my_first_table
с тремя столбцами: id
, age
и score
. Все эти столбцы используют тип данных INT.
Теперь добавим немного данных:
INSERT INTO my_first_table (id, age, score) VALUES (1, 25, 95);
INSERT INTO my_first_table (id, age, score) VALUES (2, 30, 88);
INSERT INTO my_first_table (id, age, score) VALUES (3, 22, 100);
Здесь мы добавляем три строки данных в нашу таблицу. Each INSERT оператор добавляет нового человека с их id, возраст и балл.
Автоматическое increment с MySQL INT
Одна из cool особенностей INT в том, что он может автоматически increment. Это super полезно, когда вы хотите генерировать уникальные идентификаторы для каждой строки в вашей таблице. Давайте посмотрим, как это работает:
CREATE TABLE auto_increment_example (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO auto_increment_example (name) VALUES ('Alice');
INSERT INTO auto_increment_example (name) VALUES ('Bob');
INSERT INTO auto_increment_example (name) VALUES ('Charlie');
В этом примере столбец id
автоматически assign 1, 2 и 3 к Alice, Bob и Charlie соответственно. Это как иметь помощника, который нумерует ваши записи за вас!
MySQL INT UNSIGNED
Иногда вам нужны только положительные числа. Вот где UNSIGNED comes в handy. Он эффективно удваивает максимальное значение, которое может удерживать INT, от 0 до 4,294,967,295.
CREATE TABLE positive_numbers (
id INT UNSIGNED,
quantity INT UNSIGNED
);
INSERT INTO positive_numbers (id, quantity) VALUES (1, 100);
INSERT INTO positive_numbers (id, quantity) VALUES (2, 4294967295);
Эта таблица будет принимать только положительные числа, что идеально подходит для вещей, таких как количества или возраста.
MySQL INT с атрибутом Display Width
Атрибут display width не влияет на диапазон значений, которые может хранить INT, но он может сделать ваши данные красивее при отображении. Вот как это работает:
CREATE TABLE display_width_example (
id INT(4),
code INT(6) ZEROFILL
);
INSERT INTO display_width_example (id, code) VALUES (1, 123);
INSERT INTO display_width_example (id, code) VALUES (1000, 456789);
Когда вы запрашиваете эти данные, code
будет displayed как 000123 и 456789 соответственно. Это как добавить ведущие нули, чтобы сделать все ваши числа одинаковой ширины.
MySQL INT с атрибутом ZEROFILL
ZEROFILL как best друг display width. Он автоматически добавляет нули к вашим числам, чтобы достичь указанной ширины. Давайте посмотрим, как это работает:
CREATE TABLE zerofill_example (
id INT(5) ZEROFILL
);
INSERT INTO zerofill_example (id) VALUES (1);
INSERT INTO zerofill_example (id) VALUES (100);
INSERT INTO zerofill_example (id) VALUES (10000);
Когда вы запрашиваете эти данные, вы увидите 00001, 00100 и 10000. Это здорово для создания consisten-width кодов или ID.
Тип данных INT с использованием клиентской программы
Теперь давайте применяем все эти знания с использованием клиентской программы. Я буду использовать MySQL командную строку для этого примера, но принципы применяются к любому MySQL клиенту.
-- Подключиться к MySQL
mysql -u your_username -p
-- Создать базу данных
CREATE DATABASE int_examples;
-- Использовать базу данных
USE int_examples;
-- Создать таблицу с использованием различных типов INT
CREATE TABLE int_showcase (
id INT AUTO_INCREMENT PRIMARY KEY,
regular_int INT,
unsigned_int INT UNSIGNED,
display_width_int INT(4),
zerofill_int INT(6) ZEROFILL
);
-- Вставить данные
INSERT INTO int_showcase (regular_int, unsigned_int, display_width_int, zerofill_int)
VALUES (-1000, 1000, 123, 123);
INSERT INTO int_showcase (regular_int, unsigned_int, display_width_int, zerofill_int)
VALUES (2000000, 3000000, 45678, 45678);
-- Запросить данные
SELECT * FROM int_showcase;
Когда вы выполните этот код, вы увидите, как каждый тип INT ведет себя по-разному. Regular_int может удерживать отрицательные значения, unsigned_int только положительные, display_width_int looks normal, и zerofill_int добавляет те ведущие нули.
Вот таблица, резюмирующая INT variantions, которые мы рассмотрели:
Тип INT | Диапазон | Пример использования |
---|---|---|
INT | -2,147,483,648 до 2,147,483,647 | Общее целочисленное хранение |
INT UNSIGNED | 0 до 4,294,967,295 | Только положительные числа |
INT AUTO_INCREMENT | Such as INT, but automatically increases | Primary keys, уникальные идентификаторы |
INT(N) | Such as INT, but affects display width | Форматирование вывода |
INT(N) ZEROFILL | Such as INT, pads with zeros | Создание consisten-width кодов |
И вот и все,folks! Мы прошли через мир MySQL INT, от основ до няшных трюков. Помните, как и при обучении любому новому навыку, овладение MySQL требует практики. Так что не бойтесь экспериментировать с этими концепциями. Кто знает? Вы можете стать INT-экспертом в вашем coding circle! Счастливо query!
Credits: Image by storyset