2 분 소요

INSERT 문은 데이터베이스 테이블에 새 데이터를 추가할 때 사용하는 가장 기본적인 SQL 명령어입니다. 이번 글에서는 초보자도 쉽게 이해할 수 있도록 INSERT INTO의 기본 문법과 구체적인 예시를 정리해 드립니다.


1. INSERT INTO 기본 문법과 사용 방법

테이블에 데이터를 추가할 때는 기본적으로 두 가지 방법이 있습니다.

1.1. 특정 필드를 지정하여 데이터 추가하기

필요한 필드만 선택하여 데이터를 추가할 수 있습니다.

기본 문법

INSERT INTO 테이블이름 (필드이름1, 필드이름2, ...)
VALUES (1, 2, ...);

예제

INSERT INTO Reservation (ID, Name, ReserveDate, RoomNum)
VALUES (5, '이순신', '2025-04-28', 1108);

1.2. 필드 이름을 생략하여 데이터 추가하기

모든 필드에 값을 추가할 때는 필드명을 생략할 수 있습니다. 이 경우 값의 순서가 테이블 구조(스키마)와 정확히 일치해야 합니다.

기본 문법

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

예제

INSERT INTO Reservation
VALUES (6, '김유신', '2025-02-20', 1201);

주의: 값 순서가 스키마 정의와 정확히 일치해야 합니다.


2. 필드 생략 시 주의사항과 조건

필드 이름을 생략하려면, 다음과 같은 조건 중 최소 하나를 충족해야 합니다.

  • NULL 허용 필드인 경우
  • DEFAULT 값 설정이 있는 경우
  • AUTO_INCREMENT 설정이 있는 경우

위 조건을 만족하지 못하면, 반드시 값을 명시적으로 제공해야 합니다.

예제: 일부 필드를 생략하여 값 추가하기

-- ReserveDate, RoomNum 필드는 NULL 또는 DEFAULT 허용되어야 함
INSERT INTO Reservation (ID, Name)
VALUES (7, '안중근');

3. INSERT 문 필수 주의사항

3.1. 필드와 값 순서의 중요성

필드명을 생략했을 때 값의 순서는 반드시 테이블 스키마의 필드 정의 순서와 동일해야 합니다.

-- 올바른 예시 (필드명 생략 시 정확한 순서로)
INSERT INTO Reservation
VALUES (8, '강감찬', '2025-03-01', 1501);

3.2. 문자열 데이터는 작은따옴표로 감싸기

모든 문자열 데이터는 반드시 작은따옴표(')로 감싸야 합니다.

  • 올바른 예시: '홍길동'
  • 잘못된 예시: "홍길동", 홍길동
-- 올바른 사용법 예시
INSERT INTO Customer (ID, Name, Age, Address)
VALUES (5, '이순신', 45, '경남 통영');

4. 구체적 INSERT 활용 예시 모음

4.1. 전체 필드를 모두 명시하여 데이터 추가하기

INSERT INTO Reservation (ID, Name, ReserveDate, RoomNum)
VALUES (9, '윤봉길', '2025-05-12', 1302);

4.2. 일부 필드만 추가하기 (생략된 필드는 NULL 혹은 DEFAULT)

INSERT INTO Reservation (ID, Name, ReserveDate)
VALUES (10, '유관순', '2025-06-15');

4.3. 필드 생략하여 모든 데이터 추가 (스키마 순서 정확히)

INSERT INTO Customer
VALUES (6, '정약용', 40, '경기 남양주');

주의: AUTO_INCREMENT가 설정된 ID 필드는 생략 가능하며, 값 제공이 불필요합니다.


5. INSERT 문 요약 정리표

구분 문법 예시 비고
모든 필드 명시 INSERT INTO Table(필드1, 필드2) VALUES (값1, 값2); 명시적 필드 지정
필드 생략 가능 INSERT INTO Table VALUES (값1, 값2, 값3); 순서 정확 필수
필드 생략 조건 NULL 허용, DEFAULT 설정, AUTO_INCREMENT 필드 값 생략 가능
문자열 값 '문자열'로 감싸기 필수 작은따옴표 사용

질문 정리

  1. INSERT 문에서 숫자는 작은따옴표로 감싸나요?

    • 아니요. 숫자 타입은 작은따옴표 없이 그대로 입력합니다. (예: VALUES(1, '홍길동'))
  2. DEFAULT 값은 언제 사용하나요?

    • 특정 필드 값이 명시되지 않았을 때 자동으로 지정된 기본값을 사용할 때 유용합니다.
  3. AUTO_INCREMENT 필드가 있는 테이블에 값을 추가할 때 ID 값을 직접 넣어야 하나요?

    • AUTO_INCREMENT 필드 값은 생략 가능합니다. 데이터베이스가 자동으로 값을 생성해줍니다.
  4. 여러 데이터를 한 번에 추가할 수도 있나요?

    • 가능합니다. 예시:

      INSERT INTO Reservation (ID, Name)
      VALUES (11, '홍범도'), (12, '신사임당');
      
  5. 필드 순서를 틀렸을 때 데이터를 수정할 수 있나요?

    • 데이터를 잘못 입력했다면 UPDATE 문을 통해 수정 가능합니다.

카테고리:

업데이트:

댓글남기기