Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 시스템 환경 변수 편집
- JAVA기초
- Thread
- 컴파일
- multi-threading
- for문
- this예약어
- 인텔리제이 기초 설정
- 형 변환
- 자바 멀티스레딩
- 상수
- JAVA객체지향
- 반복문
- OPP개념
- 포함관계
- 접근제어지시자
- 인텔리제이 한글 깨짐 해결법
- Java
- java변수
- 생성자
- IntelliJ IDEA
- 집합관계
- 메서드
- function
- continue문
- Java데이터 타입
- 메서드 오버로딩
- While
- 연관관계
- break문
Archives
- Today
- Total
최원종의 개발 블로그
UPDATE 와 DELETE - 9 본문
UPDATE - 기존 데이터 수정
-- 기본 구조
UPDATE 테이블명
SET 컬럼1 = 값1, 컬럼2 = 값2
WHERE 조건;
가장 중요한 주의사항:
WHERE 없이 실행하면 테이블 전체가 수정됩니다!
DELETE - 데이터 삭제
-- 기본 구조
DELETE FROM 테이블명
WHERE 조건;
같은 주의사항:
WHERE 없이 실행하면 테이블 전체가 삭제됩니다!
삭제된 데이터는 복구가 어렵습니다.
안전 습관
실행 전 SELECT 먼저
실무에서 가장 많이 발생하는 실수:
WHERE 없는 UPDATE / DELETE
무조건 이 순서를 지키세요:
1. SELECT 로 수정/삭제 대상 확인
2. UPDATE 또는 DELETE 실행
3. SELECT 로 결과 확인
실습 코드 (school DB )
USE school;
-- 수정 전 확인
SELECT * FROM student WHERE student_id = 1001;
-- 학번 1001 학생의 학년을 3으로 수정
UPDATE student
SET grade = 3
WHERE student_id = 1001;
-- 수정 결과 확인
SELECT * FROM student WHERE student_id = 1001;
-- 여러 컬럼 동시 수정
UPDATE student
SET grade = 4, phone = '010-9999-0000'
WHERE student_id = 1004;
SELECT * FROM student WHERE student_id = 1004;
-- 특정 조건에 맞는 여러 행 수정
-- 경영학 전공 학생의 학년을 모두 1 증가
SELECT * FROM student WHERE major = '경영학';
UPDATE student
SET grade = grade + 1
WHERE major = '경영학';
SELECT * FROM student WHERE major = '경영학';
-- 수강 취소: enrollment 에서 특정 행 삭제
SELECT * FROM enrollment WHERE enrollment_id = 8;
DELETE FROM enrollment
WHERE enrollment_id = 8;
-- 삭제 결과 확인
SELECT * FROM enrollment;
실제 서비스에서의 활용
-- 쇼핑몰: 주문 상태 변경
UPDATE orders
SET status = '배송완료'
WHERE id = 1234;
-- 회원 탈퇴 처리 (소프트 삭제 - 실제로는 삭제하지 않음)
UPDATE member
SET is_active = FALSE, deleted_at = NOW()
WHERE id = 5;
-- 실제 DELETE 하지 않고 is_active=0 으로 표시하는 게 실무 방식
-- SNS: 게시글 삭제 (소프트 삭제)
UPDATE post
SET is_deleted = TRUE
WHERE id = 10 AND member_id = 3; -- 본인 글만 삭제 가능
핵심 요약
UPDATE 테이블 SET 컬럼=값 WHERE 조건;
DELETE FROM 테이블 WHERE 조건;
WHERE 없으면 전체 행이 영향받음 (x)
실행 전 SELECT 로 대상 반드시 확인 (o)
실무 패턴:
실제 DELETE 보다 is_deleted, is_active 같은
소프트 삭제 방식을 더 많이 사용'MySQL' 카테고리의 다른 글
| 인덱스(Index) - 11 (0) | 2026.04.03 |
|---|---|
| PRIMARY KEY, UNIQUE, FOREIGN KEY - 10 (0) | 2026.04.03 |
| SELECT 와 WHERE - 8 (0) | 2026.04.03 |
| INSERT 구문과 제약 조건 -7 (0) | 2026.04.02 |
| MySQL 데이터 타입 - 6 (0) | 2026.04.02 |
