Database
Database - Chapter 3-14. SQL (DML) 기초(테이블생성,테이터생성)
Chansman
2025. 3. 20. 11:33
🚀 SQL 완벽 가이드 (기초부터 실전 활용까지)
SQL을 처음 접하는 분들도 쉽게 이해할 수 있도록 각 프로세스별로 개념과 활용법을 상세히 설명해 드립니다.
데이터베이스를 다룰 때 기본이 되는 핵심 문법과 개념을 확실하게 익혀보세요! 🎯
📌 1. 테이블 생성 (CREATE TABLE)
🔹 개념
데이터를 저장할 그릇(테이블)을 만드는 과정입니다.
테이블을 만들 때는 **컬럼(속성)**을 정의해야 하며, 각 컬럼의 데이터 유형을 지정합니다.
sql
CREATE TABLE users (
user_id INTEGER PRIMARY KEY AUTO_INCREMENT,
username TEXT NOT NULL,
email TEXT NOT NULL,
age INTEGER
);
✅ 설명
- user_id → 고유번호, 자동 증가 (AUTO_INCREMENT)
- username → 사용자 이름, 필수 입력 (NOT NULL)
- email → 이메일 주소, 필수 입력 (NOT NULL)
- age → 나이, 입력하지 않으면 NULL 가능
💡 테이블 생성 시 주의할 점
- PRIMARY KEY는 중복을 허용하지 않는 고유 값이어야 합니다.
- AUTO_INCREMENT는 값을 자동으로 증가시킵니다.
📌 2. 데이터 추가 (INSERT INTO)
🔹 개념
테이블을 만들었으면 데이터를 추가(삽입)하는 단계입니다.
데이터를 추가할 때 컬럼과 값의 개수가 일치해야 하며, 데이터 타입도 맞아야 합니다.
1️⃣ 모든 컬럼에 데이터 추가
sql
복사편집
INSERT INTO users (username, email, age) VALUES ('john_doe', 'john@example.com', 25);
✅ 설명
- username, email, age 모든 컬럼에 값을 입력
- 반드시 컬럼명과 값 개수를 일치시켜야 함
2️⃣ 일부 컬럼만 추가 (NULL 허용)
sql
INSERT INTO users (username, email) VALUES ('jane_doe', 'jane@example.com');
✅ 설명
- age를 입력하지 않으면 자동으로 NULL 값이 저장됨
3️⃣ 여러 개의 데이터 한 번에 추가
sql
INSERT INTO users (username, email, age) VALUES
('alice', 'alice@example.com', 30),
('bob', 'bob@example.com', 28);
✅ 설명
- VALUES 뒤에 여러 개의 (값)을 나열하면 한 번에 여러 데이터 입력 가능
4️⃣ 중복 방지 (INSERT IGNORE)
sql
INSERT IGNORE INTO users (username, email, age) VALUES ('john_doe', 'john@example.com', 25);
✅ 설명
- 이미 같은 username이 존재하면 에러 없이 무시하고 넘어감
📌 3. 데이터 조회 (SELECT)
🔹 개념
저장된 데이터를 조회(검색)하는 과정입니다.
SELECT 문을 사용해 원하는 데이터를 다양한 조건으로 검색할 수 있습니다.
1️⃣ 모든 데이터 조회 (* 사용)
sql
SELECT * FROM users;
✅ 설명
- *는 모든 컬럼을 선택한다는 의미
2️⃣ 특정 컬럼만 조회
sql
SELECT username, email FROM users;
✅ 설명
- 필요한 컬럼만 선택하여 조회할 수 있음
3️⃣ 중복 제거 (DISTINCT)
sql
SELECT DISTINCT age FROM users;
✅ 설명
- DISTINCT를 사용하면 중복 데이터를 제거하고 조회
4️⃣ 데이터 정렬 (ORDER BY)
sql
SELECT * FROM users ORDER BY age DESC;
✅ 설명
- ORDER BY를 사용하여 오름차순(ASC) 또는 내림차순(DESC)으로 정렬
5️⃣ 특정 조건으로 검색 (WHERE)
sql
SELECT * FROM users WHERE age >= 30;
✅ 설명
- WHERE을 사용하여 특정 조건을 만족하는 데이터만 조회
💡 응용 예제
sql
SELECT * FROM users WHERE age BETWEEN 20 AND 30;
- BETWEEN을 사용하면 특정 범위(20~30)의 값만 조회 가능
📌 4. 데이터 수정 (UPDATE)
🔹 개념
이미 저장된 데이터를 수정(업데이트)하는 과정입니다.
UPDATE 문을 사용할 때 WHERE 조건을 반드시 지정해야 합니다.
1️⃣ 특정 데이터 수정
sql
UPDATE users SET username = 'John' WHERE user_id = 1;
✅ 설명
- SET 컬럼 = 값을 사용하여 특정 컬럼의 값을 변경
- WHERE 조건을 사용하여 특정 데이터만 수정 (조건 없으면 모든 데이터가 변경됨!)
2️⃣ 여러 개의 값 수정
sql
UPDATE users SET email = 'new_email@example.com', age = 35 WHERE username = 'john_doe';
✅ 설명
- SET 뒤에 여러 개의 컬럼 = 값을 나열하여 여러 개의 컬럼을 동시에 수정 가능
3️⃣ 조건에 따라 다르게 업데이트 (CASE WHEN)
sql
UPDATE users SET username = CASE
WHEN age >= 60 THEN 'senior'
ELSE 'young'
END;
✅ 설명
- CASE WHEN을 활용하면 조건에 따라 다른 값으로 업데이트 가능
📌 5. 데이터 삭제 (DELETE)
🔹 개념
특정 조건을 만족하는 데이터를 삭제하는 과정입니다.
데이터를 삭제할 때 WHERE 조건을 반드시 추가해야 합니다.
1️⃣ 특정 조건으로 데이터 삭제
sql
DELETE FROM users WHERE age < 18;
✅ 설명
- age가 18 미만인 데이터만 삭제
💡 주의:
sql
DELETE FROM users;
- WHERE 절 없이 실행하면 모든 데이터가 삭제됨!! 😱
- 특정 데이터만 삭제하려면 반드시 WHERE 조건을 포함해야 함
📌 6. 데이터베이스 최적화 (고급 활용)
🔹 추가로 알아두면 좋은 기능
1️⃣ 데이터 개수 세기 (COUNT)
sql
SELECT COUNT(*) FROM users;
- COUNT(*)를 사용하면 전체 데이터 개수를 확인 가능
2️⃣ 그룹별 데이터 개수 조회 (GROUP BY)
sql
SELECT age, COUNT(*) FROM users GROUP BY age;
- GROUP BY를 사용하면 같은 값을 가진 데이터끼리 그룹화하여 개수 조회 가능
3️⃣ 삭제된 데이터 되돌리기 (ROLLBACK)
sql
START TRANSACTION;
DELETE FROM users WHERE age < 18;
ROLLBACK; -- 삭제 취소
- ROLLBACK을 사용하면 실수로 삭제한 데이터를 되돌릴 수 있음
✅ 마무리 및 정리
이제 SQL의 기본 개념과 활용법을 각 프로세스별로 쉽게 이해할 수 있도록 정리했습니다! 🚀
블로그 포맷으로 복사하여 사용하세요! 🎯
궁금한 점이나 추가 요청이 있으면 언제든 말씀해주세요! 😊