MySQL - INT: руковод novičkov

Привет,野心勃勃 база данных энтузиасты! Сегодня мы окунемся в мир MySQL и рассмотрим одну из его самых fundamental данных типов: INT. Не волнуйтесь, если вы новички в программировании - я буду вести вас через это путешествие шаг за шагом, как я делал для countless студентов на протяжении многих лет моего преподавания. Так что натяните рукава и начнем!

MySQL - INT

Тип данных 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