본문으로 건너뛰기
SQL 기초집LESSON 05

INSERT로 데이터 추가하기

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

5강. INSERT로 데이터 추가하기

1. 이번 강의에서 해결할 문제

열 순서에 의존하거나 문자열을 직접 이어 붙인 INSERT는 스키마 변경과 SQL 주입에 취약합니다. 열과 값을 명확히 대응시켜 샘플 데이터를 넣습니다.

2. 학습 목표

3. 핵심 개념

INSERT는 새 행을 만들며 생략한 열에는 DEFAULT 또는 NULL이 적용됩니다. SQL 파일의 고정 샘플은 리터럴을 쓸 수 있지만 백엔드의 사용자 입력은 반드시 드라이버 매개변수 바인딩을 사용해야 합니다.

4. 단계별 SQL 예시

실행 전제: 4강 스키마 적용 완료
대상 테이블: players, games
파일 경로: C:\dev\game-ranking-db\sql\05-seed.sql

sql/05-seed.sql
INSERT INTO players (username, region) VALUES
('knight_01', 'KR'),
('mage_02', 'JP'),
('archer_03', 'NA'),
('healer_04', 'EU');

INSERT INTO games (mode, started_at, duration_seconds) VALUES
('ranked', '2026-07-01T10:00:00Z', 420),
('normal', '2026-07-02T12:30:00Z', 305),
('ranked', '2026-07-03T09:15:00Z', 510);

SELECT * FROM players ORDER BY player_id;
SELECT * FROM games ORDER BY game_id;
PowerShell · 실행 순서
sqlite3 .\data\game_ranking.db ".read .\sql\05-seed.sql"

5. 쿼리가 동작하는 이유

각 VALUES 튜플이 한 행이 되고 열 목록 순서대로 값이 연결됩니다. 기본 키와 created_at을 생략하면 SQLite가 키와 DEFAULT 값을 채웁니다. 한 문장의 다중 INSERT는 전체 샘플의 의도를 묶습니다.

6. 자주 하는 실수와 안전한 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

INSERT로 데이터 추가하기 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“INSERT로 데이터 추가하기”에서 다음 단계로 넘어가기 전에 확인할 핵심은 무엇인가요?
  2. 문제 2“INSERT로 데이터 추가하기” 실습 중 ‘seed 재실행으로 UNIQUE 오류’ 상황을 발견했습니다. 본문과 일치하는 설명은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

5강. INSERT로 데이터 추가하기 미완료 상태