← 홈페이지 5강 목록으로
📑
EPISODE 02
CREATE · INSERT · SELECT · UPDATE · DELETE

SQL 기초

SQLite의 데이터 타입, CREATE TABLE로 테이블 만들기, INSERT/SELECT/UPDATE/DELETE의 기본 문법, WHERE/ORDER BY/LIMIT를 익힙니다.

SQLCREATESELECTWHERE
소요 시간
45~60분
난이도
📊 중급
선수 조건
🎯 db-01
결과물
도서 관리 DB로 CRUD 쿼리 작성

이 강의에서 배우는 것

  • 1CREATE TABLE과 주요 제약조건(PK, NOT NULL, UNIQUE, DEFAULT)을 안다
  • 2INSERT의 3가지 형태를 사용한다
  • 3SELECT + WHERE + ORDER BY + LIMIT로 데이터를 조회한다
  • 4UPDATE / DELETE에서 WHERE를 빠뜨리지 않는다

1. SQLite 데이터 타입

타입설명예시
TEXT문자열'김철수'
INTEGER정수42, -10
REAL실수3.14, 9.99
BLOB이진 데이터이미지, 파일
NULL값 없음NULL

2. CREATE TABLE

sql
CREATE TABLE books (
    id        INTEGER PRIMARY KEY AUTOINCREMENT,
    title     TEXT    NOT NULL,
    author    TEXT    NOT NULL,
    price     INTEGER DEFAULT 0,
    isbn      TEXT    UNIQUE,
    published TEXT
);
제약조건설명
PRIMARY KEY기본키 (행 고유 식별)
AUTOINCREMENT자동 1씩 증가
NOT NULLNULL 금지
UNIQUE중복 금지
DEFAULT 값기본값

3. INSERT

sql
-- 모든 컬럼에 값
INSERT INTO books VALUES (1, '클린 코드', '로버트 마틴', 30000, '978-…', '2008-08-01');

-- 컬럼 명시 (권장)
INSERT INTO books (title, author, price) VALUES ('리팩터링', '마틴 파울러', 35000);

-- 여러 행 동시
INSERT INTO books (title, author, price) VALUES
    ('자바스크립트 완벽 가이드', '데이비드 플래너건', 45000),
    ('파이썬 입문', '귀도 반 로썸', 28000);

4. SELECT

기본

sql
SELECT * FROM books;
SELECT title, author, price FROM books;

WHERE

sql
SELECT * FROM books WHERE price >= 30000;
SELECT * FROM books WHERE author = '마틴 파울러';
SELECT * FROM books WHERE price >= 20000 AND price <= 40000;
SELECT * FROM books WHERE title LIKE '%자바%';
SELECT * FROM books WHERE isbn IS NULL;

ORDER BY

sql
SELECT * FROM books ORDER BY price ASC;
SELECT * FROM books ORDER BY price DESC;
SELECT * FROM books ORDER BY author ASC, price DESC;

LIMIT (페이지네이션)

sql
SELECT * FROM books LIMIT 5;
SELECT * FROM books LIMIT 5 OFFSET 5;  -- 6번째부터 5개

5. UPDATE

sql
UPDATE books SET price = 32000 WHERE id = 1;
UPDATE books SET price = 32000, title = '클린 코드 2판' WHERE id = 1;
⚠️

WHERE 절 없이 UPDATE하면 모든 행이 수정됩니다.

6. DELETE

sql
DELETE FROM books WHERE id = 3;
DELETE FROM books WHERE price < 10000;
⚠️

WHERE 절 없이 DELETE하면 모든 데이터가 삭제됩니다.

7. 실습 흐름

bash
sqlite3 library.db
.read 예제/queries.sql
.tables
.schema books
.quit
예제 코드 / 강의 자료

전체 강의 자료와 예제 코드는 GitHub에서 자유롭게 받아볼 수 있습니다.

GitHub에서 보기 ↗