DML(데이터 조작어 : Data Manipulation Language)은 테이블에 새로운 데이터를 삽입하거나 기존의 데이터를 수정, 삭제하기 위한 명령어의 집합입니다.
INSERT 문은 테이블에 데이터를 입력하기 위한 명령어 입니다.
한 번에 하나의 로우만 INTO 뒤에 명시한 테이블에 삽입됩니다.
테이블명 뒤에 기술한 칼럼에 VALUES 절에서 지정한 칼럼 값을 순서대로 입력합니다.
삽입할 칼럼의 데이터 타입이 문자(CHAR, VARCHAR2)나 날짜(DATE) 타입일 경우, 반드시 작은 따옴표(‘ ’)를 함께 사용해야 합니다.
[예제] 실습을 위한 부서테이블을 새로이 생성한 후 ACCOUNTING 부서의 정보를 입력하여 봅시다.
데이터를 입력하는 시점에서 해당 칼럽 값을 모르거나 확정되지 않았을 경우에는 칼럼의 값으로 NULL을 입력합니다.
암시적 방법은 입력 시 칼럼명 리스트에 해당 칼럼을 생략합니다. 생략한 칼럼에는 NULL이 삽입 됩니다.
UPDATE 문의 SET 절에서 서브쿼리를 기술하면 서브 쿼리를 수행한 결과로 내용이 변경됩니다.
[예제]10번 부서의 지역명을 20번 부서의 지역명으로 변경하여 봅시다.
[예제] 여러 개의 칼럼 값을 동시에 변경해봅시다.
DELETE 문에 서브 쿼리를 사용하여 테이블에서 다른 테이블의 값을 기반으로 로우를 삭제할 수 있습니다.
[예제] 사원들 중 SALES 부서에 근무하는 사원을 모두 삭제하여 봅시다.
트랜잭션(Transaction)은 데이터 처리에서 논리적으로 하나의 작업 단위를 의미합니다.
oracle 명령어 중 DDL과 DCL은 하나의 명령어가 하나의 트랙잭션이며, DML은 데이터의 변동의 일관성을 위해 하나 이상의 의 DML문이 모여 하나의 트랙잭션을 구성합니다.
All – OR – Nothing : 여러 개의 명령어 집합이 정상적으로 처리되면 정상 종료하고, 명령어들 중 하나라도 잘못된다면 전체를 취소해 버립니다.
DML문은 실행됨과 동시에 트랙잭션이 진행됩니다. DML 작업이 성공적으로 처리되었다면 COMMIT을, 취소해야 한다면 ROLLBACK 명령을 실행합니다.
COMMIT은 트랜잭션의 처리 과정을 반영하여 변경된 내용을 모두 영구 저장합니다.
ROLLBACK은 트랜잭션의 처리 과정 중 발생한 변경 사항을 취소하는 명령어입니다. ROLLBACK을 실행하게 되면 하나의 묶음 처리가 시작되기 이전 상태로 돌아갑니다.