BioPlayground

🧬
목록으로

SQL 기초 — CREATE, SELECT, INSERT, UPDATE, DELETE

SQL의 핵심 명령어 5개(CREATE, SELECT, INSERT, UPDATE, DELETE)를 실제 예제와 함께 배웁니다.

입문
|
8
|
검증 완료 (2026-07)
진행률0/18 (0%)

SQL 기초 — CREATE, SELECT, INSERT, UPDATE, DELETE

이 토픽을 마치면

SQL로 테이블을 만들고, 데이터를 넣고, 찾고, 수정하고, 삭제할 수 있습니다.


SQL이란

SQL(Structured Query Language)은 데이터베이스에 질문하는 언어입니다. "프로그래밍 언어"와는 조금 다릅니다 — 반복문이나 함수가 아니라, **"이런 데이터를 줘"**라고 요청하는 선언형 언어입니다.

SQL은 MySQL, PostgreSQL, SQLite 등 대부분의 관계형 데이터베이스에서 사용됩니다. 문법이 거의 동일하므로, 하나를 배우면 다른 것도 쓸 수 있습니다.


CREATE TABLE — 테이블 만들기

sql
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  email VARCHAR(100) NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
키워드의미
INT정수
VARCHAR(50)최대 50자 문자열
AUTO_INCREMENT자동 증가 (1, 2, 3, ...)
PRIMARY KEY이 행의 고유 식별자
NOT NULL빈 값 금지
DEFAULT값을 안 넣으면 이 값 사용

테이블은 데이터의 설계도입니다. 한 번 만들면 그 구조에 맞는 데이터만 넣을 수 있습니다.


INSERT — 데이터 넣기

sql
-- 한 행 추가
INSERT INTO users (name, email) VALUES ('김훈', 'hoon@example.com');

-- 여러 행 한 번에 추가
INSERT INTO users (name, email) VALUES
  ('이수', 'su@example.com'),
  ('박진', 'jin@example.com');

idcreated_at은 지정하지 않았지만, AUTO_INCREMENTDEFAULT 덕분에 자동으로 채워집니다.


SELECT — 데이터 읽기

sql
-- 전체 조회
SELECT * FROM users;

-- 특정 열만
SELECT name, email FROM users;

-- 조건 검색
SELECT * FROM users WHERE name = '김훈';

-- 부분 일치 검색
SELECT * FROM users WHERE email LIKE '%@naver.com';

-- 정렬
SELECT * FROM users ORDER BY created_at DESC;

-- 개수 제한
SELECT * FROM users ORDER BY id DESC LIMIT 10;

SELECT는 SQL에서 가장 많이 쓰는 명령어입니다. WHERE로 조건을 걸고, ORDER BY로 정렬하고, LIMIT으로 개수를 제한합니다.

*은 "모든 열"을 의미합니다. 편리하지만, 실무에서는 필요한 열만 명시하는 것이 좋습니다 — 불필요한 데이터 전송을 줄이기 위해.


UPDATE — 데이터 수정

sql
-- 특정 사용자의 이메일 변경
UPDATE users SET email = 'new@example.com' WHERE id = 1;

-- 여러 열 동시 수정
UPDATE users SET name = '김훈2', email = 'hoon2@example.com' WHERE id = 1;

주의: WHERE 절을 빼면 모든 행이 수정됩니다. 이것은 실수로 일어날 수 있는 가장 위험한 상황 중 하나입니다.

sql
-- 이러면 모든 사용자의 이메일이 바뀐다!
UPDATE users SET email = 'oops@example.com';

DELETE — 데이터 삭제

sql
-- 특정 행 삭제
DELETE FROM users WHERE id = 3;

-- 조건에 맞는 여러 행 삭제
DELETE FROM users WHERE created_at < '2025-01-01';

UPDATE와 마찬가지로, WHERE 없이 실행하면 테이블 전체가 비워집니다. 복구 불가.

sql
-- 전체 삭제 — 되돌릴 수 없다!
DELETE FROM users;

명령어 요약

명령목적위험도
CREATE TABLE테이블 구조 정의낮음
INSERT새 데이터 추가낮음
SELECT데이터 조회없음 (읽기만)
UPDATE기존 데이터 수정⚠️ WHERE 필수
DELETE데이터 삭제⚠️ WHERE 필수

SQL을 처음 배울 때 기억할 것: SELECT는 안전하고, UPDATE/DELETE는 WHERE가 없으면 재앙이다.