9강 / 20강
첫 번째 작품 — 할 일 목록 앱
지금까지 배운 걸 전부 합쳐 봅시다
이론은 충분합니다. 이제 진짜 앱을 만들어 봅시다. 세상에서 가장 유명한 연습 과제, 할 일 목록(To-Do)입니다.
먼저 설계도부터. 할 일 하나에 필요한 정보는 무엇일까요?
CREATE TABLE todo (
id INTEGER PRIMARY KEY AUTOINCREMENT, -- 자동으로 붙는 번호표
title TEXT NOT NULL, -- 할 일 내용
done INTEGER NOT NULL DEFAULT 0 -- 0 = 아직, 1 = 완료
);
단 세 개의 필드. 이것만으로 완전한 앱이 만들어집니다.
AUTOINCREMENT는 "번호는 내가 알아서 1, 2, 3… 붙여 줄게"라는 뜻이에요.
화면의 동작 ↔ SQL 문장
여러분이 앱에서 하는 모든 행동은 SQL 한 줄로 번역됩니다. 4강의 CRUD가 그대로 돌아왔죠.
| 화면에서 하는 일 | CRUD | 실행되는 SQL |
|---|---|---|
| 할 일 추가 | C | INSERT INTO todo (title) VALUES ('수학 숙제'); |
| 목록 보기 | R | SELECT * FROM todo ORDER BY id; |
| 체크 표시 | U | UPDATE todo SET done = 1 WHERE id = 3; |
| 삭제 버튼 | D | DELETE FROM todo WHERE id = 3; |
🎮 직접 만져 보세요
아래는 진짜로 동작하는 할 일 앱입니다. 버튼을 누를 때마다 그 순간 실행된 SQL이 오른쪽에 실시간으로 나타납니다. 앱을 쓰면서 SQL을 눈으로 익히는 것이 이 레슨의 목표예요.
같은 일을 코드로 직접
위 앱이 내부에서 무슨 일을 하는지, 진짜 SQLite로 처음부터 끝까지 실행해 봅시다. 아래 코드는 여러분의 브라우저 안에서 실제로 동작하는 SQLite입니다.
진짜 SQLite로 CRUD 한 바퀴.
Python
브라우저에서 실행
🤔 확인 문제
할 일 3번에 체크 표시를 하는 동작에 해당하는 SQL은?
해설 체크는 기존 레코드의
done 값을 0에서 1로 고치는 것이므로 UPDATE입니다. WHERE를 빼먹으면 전부 완료 처리되니 조심하세요!