-
SQL - DML(Data Manupulation Language) DELETE, DDL(Data Definition Language) TRUNCATEDataBase/Oracle 2022. 1. 27. 02:24728x90반응형
- DELETE
- TRUNCATE
DML(Data manipulation Language)
- 데이터 조작 언어
- 테이블에 값을 삽입, 수정, 삭제, 조회하는 언어
DELETE
DELETE FROM 테이블명 WHERE 조건설정
- 테이블의 행을 삭제하는 구문
- 만약 WHERE 조건을 설정하지 않으면 모든 행이 다 삭제된다.
모든 행 삭제
DELETE FROM EMPLOYEE E;
DELETE
DELETE FROM EMPLOYEE E WHERE E.EMP_NAME = '장채현'; -- FOREIGN KEY 제약조건이 설정되어 있는 경우 -- 참조되고 있는 값에 대해서는 삭제할 수 없다. DELETE FROM DEPARTMENT D WHERE D.DEPT_ID = 'D1'; -- FOREIGN KEY 제약조건이 설정되어 있어도 -- 참조되고 있지 않는 값에 대해서는 삭제 가능 -- 부모 테이블의 기본키인 'D3'을 참조하는 행이 없으므로 삭제 가능 DELETE FROM DEPARTMENT D WHERE D.DEPT_ID = 'D3';
TRUNCATE
- 데이터 정의 언어이며 테이블의 전체 행을 삭제할 시 사용
- DELETE보다 수행 속도가 더 빠르다.
- ROLLBACK을 통해 복구할 수 없다.
TRUNCATE TABLE EMP_SALARY;
해당 테이블의 모든 행을 삭제하며 DELETE와는 달리 ROLLBACK을 통해 데이터를 복구할 수 없다.
728x90반응형'DataBase > Oracle' 카테고리의 다른 글
SQL - DDL(Data Definition Language)의 ALTER, DROP (0) 2022.01.27 SQL - TCL (Transaction Control Language) (0) 2022.01.27 SQL - DML(Data Manipulation Language) INSERT, UPDATE, UPDATE시 주의사항 (0) 2022.01.27 SQL - 테이블 생성(CREATE) 및 제약 조건(Constraint) (0) 2022.01.26 SQL - RANK, DENSE_RANK (0) 2022.01.22