본문으로 건너뛰기
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로 데이터 추가하기 미완료 상태