MySQL - INT: 초보자 가이드

안녕하세요, 데이터베이스 열정가 되시고자 하는 분들께! 오늘 우리는 MySQL의 세계로 점프하여 그 중에서도 가장 기본적인 데이터 타입之一的 INT를 탐구해보겠습니다. 프로그래밍에 새로운 분이라면 걱정 마세요 - 저는 여러분을 단계별로 안내해드릴 것입니다. 수년 동안 수많은 학생들을 가르친 경험을 바탕으로 말이죠. 그럼 손을 다시마질고 시작해보겠습니다!

MySQL - INT

MySQL INT 데이터 타입

MySQL의 INT 데이터 타입은 숫자 데이터 타입 가족의 강력하고 신뢰할 수 있는 중간이입니다. 이 타입은 소수점이 없는 정수(정수)를 저장하는 데 사용됩니다. -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);

여기서 우리는 테이블에 세 줄의 데이터를 추가하고 있습니다. 각 INSERT 문은 새로운 사람의 id, 나이, 점수를 추가합니다.

MySQL INT의 자동 증가 기능

INT의 하나의 멋진 기능은 자동 증가입니다. 이는 테이블의 각 행에 고유한 식별자를 생성하고 싶을 때 매우 유용합니다. 어떻게 작동하는지 보여드리겠습니다:

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 컬럼은 Alice, Bob, Charlie에 각각 1, 2, 3을 자동으로 할당합니다. 마치 도움을 주는 어시스턴트가 항목을 번호 매기는 것처럼입니다!

MySQL INT UN&SIGNED

occasionally, you only need positive numbers. That's where UNSIGNED comes in handy. It effectively doubles the maximum value an INT can hold, from 0 to 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의 표시 폭 속성

표시 폭 속성은 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는 각각 000123과 456789로 표시됩니다. 마치领先零을 추가하여 모든 숫자가 같은 폭을 가지도록 하는 것입니다.

MySQL INT의 ZEROFILL 속성

ZEROFILL은 표시 폭의 최고 친구입니다. 이는 숫자를 지정된 폭에 도달하도록 자동으로领先零을 추가합니다. 다음은 그 작동 방식을 보여줍니다:

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을 볼 것입니다. 일관된 폭의 코드나 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은 일반적으로 보이고, zerofill_int는领先零을 추가합니다.

여기 INT 변형을 요약한 표입니다:

INT 타입 범위 예시 사용 사례
INT -2,147,483,648 to 2,147,483,647 일반적인 정수 저장
INT UNSIGNED 0 to 4,294,967,295 양수 정수만
INT AUTO_INCREMENT INT와 동일, 자동 증가 기본 키, 고유 식별자
INT(N) INT와 동일, 표시 폭 영향 출력 형식
INT(N) ZEROFILL INT와 동일,领先零 추가 일관된 폭 코드

그렇습니다, 친구들! 우리는 MySQL INT의 세계를 여행하며 기본부터 몇 가지 멋진 기술까지 탐구했습니다. MySQL을 마스터하려면 연습이 필요합니다. 그러니 이 개념들을 실험해보지 마세요! 누가 알겠는가? 당신은 코드 서클에서 INT 전문가가 될 수도 있습니다! 즐겁게 쿼리 작성하세요!

Credits: Image by storyset