## 🟢 1. 데이터 조회 (SELECT)
```
SELECT * FROM 테이블명; -- 모든 컬럼 조회
SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 조건;
```
### 📌 예시:
```
SELECT id, title FROM post WHERE category = '공지사항';
```
## 🟡 2. 데이터 삽입 (INSERT)
```
INSERT INTO 테이블명 (컬럼1, 컬럼2)
VALUES ('값1', '값2');
```
### 📌 예시:
```
INSERT INTO post (title, content)
VALUES ('새 글 제목', '본문 내용입니다.');
```
## 🟠 3. 데이터 수정 (UPDATE)
```
UPDATE 테이블명
SET 컬럼1 = '새값1', 컬럼2 = '새값2'
WHERE 조건;
```
### 📌 예시:
```
UPDATE post
SET title = '수정된 제목'
WHERE id = 3;
```
## 🔴 4. 데이터 삭제 (DELETE)
```
DELETE FROM 테이블명 WHERE 조건;
```
### 📌 예시:
```
DELETE FROM post WHERE id = 5;
⚠️ 주의: WHERE 절 없이 쓰면 테이블 전체가 삭제됩니다.
DELETE FROM post; -- ❌ 전체 삭제
```
## ⚙️ 5. 테이블 구조 변경 (ALTER)
### 컬럼 추가:
```
ALTER TABLE post ADD COLUMN summary VARCHAR(255);
```
### 컬럼 삭제:
```
ALTER TABLE post DROP COLUMN summary;
```
### 컬럼 이름 변경 (MySQL 8.0 이상):
```
ALTER TABLE post RENAME COLUMN old_name TO new_name;
```
## 🧱 6. 테이블 생성 (CREATE)
```
CREATE TABLE post (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
content TEXT,
created_at DATETIME
);
```
## 🧹 7. 테이블 삭제 (DROP)
```
DROP TABLE post;
```
## 🔍 8. 정렬 & 제한
### 정렬:
```
SELECT * FROM post ORDER BY created_at DESC;
```
### 상위 5개만:
```
SELECT * FROM post ORDER BY created_at DESC LIMIT 5;
```
## 🔗 9. JOIN (조인)
```
SELECT a.*, b.nickname
FROM post a
JOIN user b ON a.user_id = b.id;
```
## 🛡️ 10. 조건문 (WHERE + AND/OR)
```
SELECT * FROM post
WHERE category = '공지' AND created_at > '2024-01-01';
```
## 🧠 정리표 - SQL 기본 명령
| 분류 | 명령어 | 설명 | 예시 |
| ------ | ----------------------------- | ---------------------------- | -------------------------------------------------------- |
| 조회 | `SELECT` | 데이터 조회 | `SELECT * FROM post;` |
| 조건 조회 | `WHERE` | 조건에 맞는 행만 조회 | `SELECT * FROM post WHERE id = 1;` |
| 정렬 | `ORDER BY` | 결과를 오름/내림차순 정렬 | `SELECT * FROM post ORDER BY created_at DESC;` |
| 삽입 | `INSERT` | 새 데이터 삽입 | `INSERT INTO post (title, content) VALUES ('제목', '내용');` |
| 수정 | `UPDATE` | 기존 데이터 수정 | `UPDATE post SET title = '수정된 제목' WHERE id = 1;` |
| 삭제 | `DELETE` | 데이터 삭제 (조건 없이 쓰면 전체 삭제됨 주의!) | `DELETE FROM post WHERE id = 1;` |
| 컬럼 추가 | `ALTER TABLE ... ADD COLUMN` | 테이블에 새 컬럼 추가 | `ALTER TABLE post ADD COLUMN summary VARCHAR(255);` |
| 컬럼 삭제 | `ALTER TABLE ... DROP COLUMN` | 컬럼 삭제 | `ALTER TABLE post DROP COLUMN summary;` |
| 테이블 삭제 | `DROP TABLE` | 테이블 자체 삭제 (데이터 포함 전부) | `DROP TABLE post;` |