DELETE는 테이블에서 데이터를 삭제할 때 사용하는 문법이에요.
잘못 쓰면 데이터가 통째로 날아갈 수 있으니 꼭! 조심해서 사용해야 해요.
✅ 기본 문법
DELETE FROM 테이블명
WHERE 조건;
- WHERE 조건을 만족하는 "행(row)"만 삭제됩니다.
- WHERE를 생략하면 테이블 전체 데이터가 삭제되니 주의‼️
✅ 예제 1: 특정 조건에 해당하는 행 삭제
DELETE FROM employees
WHERE department_id = 50;
- 부서번호가 50번인 직원들만 삭제됩니다.
✅ 예제 2: 전체 데이터 삭제 (주의!!)
DELETE FROM employees;
- employees 테이블의 모든 데이터를 삭제합니다. (⚠️ 롤백 안 하면 영구 삭제)
💡 이 경우 TRUNCATE와의 차이도 중요합니다. (아래 참고)
✅ DELETE vs TRUNCATE 차이점
항목 | DELETE | TRUNCATE |
조건 사용 | 가능 (WHERE 절) | 불가능 (전체 삭제만 가능) |
롤백 가능 | ✅ 가능 | ❌ 불가능 (즉시 반영) |
트리거 호출 | ✅ 호출 | ❌ 호출 안됨 |
속도 | 느림 (한 줄씩 삭제) | 빠름 (테이블 전체 초기화) |
✅ 서브쿼리 활용 예
DELETE FROM employees
WHERE department_id IN (
SELECT department_id
FROM departments
WHERE location_id = 1700
);
- 위치가 1700번인 부서에 속한 직원들을 삭제하는 예제입니다.
✅ 자주 하는 실수
- WHERE 없이 DELETE 쓰는 실수 (💥 전체 삭제됨)
- 외래키 제약조건 때문에 삭제 안 되는 경우 (에러 발생)
- 트랜잭션 커밋 안 해서 실제 반영 안 되는 경우
✅ 사용 팁
- 항상 먼저 SELECT로 삭제 대상 확인!
SELECT * FROM employees WHERE department_id = 50;
→ 문제없으면 그 다음 DELETE 실행!
- 삭제 후 커밋 or 롤백 꼭 잊지 말기
COMMIT; -- 영구 반영
ROLLBACK; -- 취소
DELETE문은 항상 주의해야해요!
실수로 데이터를 삭제하게되면 다시 복구하기 어렵기 때문이에요
WHERE 조건을 잘 주어야 실수를 줄일 수 있으니,
꼭 확인하세요!!
[Oracle SQL] SQL 초보 탈출! 오라클 SELECT로 데이터 조회하는 법
[Oracle SQL] SQL 초보 탈출! 오라클 SELECT로 데이터 조회하는 법
SELECT 문은 오라클 SQL에서 데이터를 조회할 때 사용하는 가장 기본이자 핵심적인 문장이에요. 어떻게 사용하는지 한번 봅시다~ ✅ 기본 문법SELECT 컬럼1, 컬럼2, ...FROM 테이블명WHERE 조건ORDER BY 정
bobo12.tistory.com
[Oracle SQL] SQL 초보 탈출! 오라클 UPDATE로 데이터 수정하는 법
[Oracle SQL] SQL 초보 탈출! 오라클 UPDATE로 데이터 수정하는 법
오라클에서 테이블의 값을 수정하기 위해 사용하는 UPDATE 문! 어떻게 사용하는지 한번 봅시다~ ✅ 기본 문법 UPDATE 테이블명 SET 컬럼1 = 값1, 컬럼2 = 값2, ... WHERE 조건; ▶ SET 뒤에 수정할 컬럼
bobo12.tistory.com
[Oracle SQL] SQL 초보 탈출! 오라클 INSERT로 데이터 입력하는 법
[Oracle SQL] SQL 초보 탈출! 오라클 INSERT로 데이터 입력하는 법
오라클에서 테이블의 값을 입력하기 위해 사용하는 INSERT 문! 어떻게 사용하는지 한번 봅시다~ ✅ 기본 문법 (단일 행 삽입)INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)VALUES (값1, 값2, ...);컬럼 순서와
bobo12.tistory.com
'BackEnd > DB(SQL)' 카테고리의 다른 글
Oracle JOIN 문법 총정리: ANSI vs Oracle 방식 완전 정복 (0) | 2025.04.22 |
---|---|
[Oracle SQL] SQL 초보 탈출! 오라클 SELECT로 데이터 조회하는 법 (0) | 2025.04.06 |
[Oracle SQL] SQL 초보 탈출! 오라클 INSERT로 데이터 입력하는 법 (0) | 2025.04.05 |
[Oracle SQL] SQL 초보 탈출! 오라클 UPDATE로 데이터 수정하는 법 (0) | 2025.04.04 |
[DB_MySQL] 이것이 MySQL이다 ch11 전체 텍스트 검색과 파티션 2 (파티션) (0) | 2023.02.13 |