본문 바로가기
프로그래밍/MySQL

📊 [SQL] 제33장 - INSERT "이제 데이터를 추가해 볼까요?"

by 강릉바다의 블로그 2026. 7. 10.

제33장. INSERT

"이제 데이터를 추가해 볼까요?"


학습 목표

이번 장을 학습하면 다음 내용을 할 수 있습니다.

  • INSERT 문의 역할을 이해할 수 있다.
  • 새로운 데이터를 테이블에 추가할 수 있다.
  • 컬럼 이름을 지정하여 INSERT를 작성할 수 있다.
  • INSERT를 사용할 때 주의할 점을 설명할 수 있다.

지금까지 우리는...

지금까지 작성한 SQL은 모두

데이터를 읽는 명령이었습니다.

SELECT ...
FROM ...

조회만 했습니다.

하지만 데이터베이스는

읽기만 하는 공간이 아닙니다.

새로운 데이터를 저장해야 합니다.

바로 이때 사용하는 명령이

INSERT입니다.


실생활에서 생각해 보기

학교에서

새로운 학생이 전학을 왔습니다.

학생 명단에

새로운 학생을 추가해야 합니다.

또는

온라인 쇼핑몰에서

새로운 상품을 등록해야 합니다.

이처럼

없던 데이터를 새로 만드는 작업

INSERT입니다.


가장 기본적인 형태

INSERT INTO 테이블이름
VALUES (값1, 값2, 값3 ...);

하지만

이 방법은 초보자에게는 조금 위험합니다.

왜일까요?


컬럼 순서를 모두 기억해야 합니다.

예를 들어

Customers 테이블이

다음과 같다고 합시다.

CustomerID CustomerName Country

다음과 같이 작성할 수 있습니다.

INSERT INTO Customers
VALUES
(100, '홍길동', 'Korea');

가능은 합니다.

하지만

컬럼 순서를 하나라도 틀리면

잘못된 데이터가 저장될 수 있습니다.


더 좋은 방법

컬럼 이름을 함께 작성합니다.

INSERT INTO Customers
(
    CustomerID,
    CustomerName,
    Country
)
VALUES
(
    100,
    '홍길동',
    'Korea'
);

이 방법을

강력히 추천합니다.


왜 컬럼 이름을 쓰는 것이 좋을까요?

예를 들어

테이블에

Email 컬럼이 하나 추가되었습니다.

CustomerID
CustomerName
Country
Email

컬럼 이름을 쓰지 않은 SQL은

갑자기 오류가 날 수도 있습니다.

하지만

컬럼 이름을 지정한 SQL은

영향을 거의 받지 않습니다.

즉,

더 안전합니다.


SQL를 한 줄씩 살펴보기

INSERT INTO Customers

Customers 테이블에

데이터를 추가합니다.


(CustomerID,
 CustomerName,
 Country)

값을 넣을 컬럼을 지정합니다.


VALUES
(...)

실제로 저장할 값을 작성합니다.


실행 결과

CustomerID CustomerName Country
100 홍길동 Korea

새로운 행이

하나 추가되었습니다.


여러 개의 데이터도 추가할 수 있습니다.

INSERT INTO Customers
(
    CustomerID,
    CustomerName,
    Country
)
VALUES
(101,'김철수','Korea'),
(102,'이영희','Japan'),
(103,'John','USA');

한 번의 INSERT로

여러 개의 행을 저장할 수도 있습니다.


실제 업무에서는?

온라인 쇼핑몰에서는

회원가입을 할 때마다

INSERT가 실행됩니다.

학교에서는

신입생 등록,

성적 입력,

도서 등록,

출석 기록 저장 등

모두 INSERT입니다.

학생들이 사용하는 거의 모든 프로그램에는

INSERT가 숨어 있습니다.


많이 하는 실수

실수 ①

컬럼 개수와

값의 개수가 다르다.

INSERT INTO Customers
(CustomerID, CustomerName)
VALUES
(100);

오류가 발생합니다.


실수 ②

문자열에 작은따옴표를 쓰지 않는다.

홍길동

'홍길동'


실수 ③

컬럼 순서를 확인하지 않는다.

컬럼 이름을 생략하면

반드시 테이블의 컬럼 순서와

같아야 합니다.


한눈에 정리

목적 SQL
데이터 조회 SELECT
데이터 추가 INSERT

이번 장 핵심 정리

✅ INSERT는 새로운 데이터를 저장하는 명령이다.

✅ 컬럼 이름을 함께 작성하는 습관이 좋다.

✅ 문자열은 작은따옴표(')로 묶는다.

✅ 한 번에 여러 행을 추가할 수도 있다.


연습 문제

기본 문제

① Customers 테이블에 새로운 고객 1명을 추가하시오.

② Products 테이블에 새로운 상품 1개를 추가하시오.


응용 문제

① Customers 테이블에 고객 3명을 한 번에 추가하시오.

② Employees 테이블에 직원 2명을 추가하시오.


도전 문제

다음 INSERT 문에서 잘못된 부분을 찾아 수정해 보시오.

INSERT INTO Customers
(CustomerID, CustomerName)
VALUES
(200);

정답

기본 문제

INSERT INTO Customers
(
    CustomerID,
    CustomerName,
    Country
)
VALUES
(
    100,
    '홍길동',
    'Korea'
);