개발(Web)/DB

[Oracle] 데이터조작어(DML)

shinyelee 2020. 7. 14. 16:42

데이터조작어(DML)에 대해 알아보자.

0. 데이터조작어(DML)

* Data Manupulation Language.

* 데이터 검색(SELECT), 등록(INSERT), 삭제(DELETE), 갱신(UPDATE)을 위한 DB 언어.


Ⅰ. INSERT 구문

테이블 컬럼 순서를 알고 있다면 굳이 컬럼명을 입력할 필요가 없다. 그냥 데이터만 순서 잘 맞춰서 입력하면 됨.
데이터를 정상적으로 입력했다.

* insert into +value는 한 번에 한 행 삽입.
* insert into +subquery는 한 번에 여러 행 삽입.

방법1. 암시적으로 null값 입력.
방법 2. 명시적으로 null값 입력.
commit; 입력해 변경 내용 저장(아래에서 다시 설명).
employees와 구조가 똑같은 copy_emp라는 테이블 생성(해당 구문은 8장에서 상세히 다룰 예정이니 지금은 걍 만들기).
내용도 똑같이 복붙(자세한 내용은 8장에서 다룸) 후 저장.


Ⅱ. UPDATE 구문

Popp의 department_id를 100에서 50으로 업데이트했다.
where절 없이 업데이트하면 전체 row의 데이터가 바뀐다.
변경 데이터 저장하고싶지 않으면 rollback; 입력.
예시.


Ⅲ. DELETE 구문

* DELETE FROM 테이블명 WHERE 조건;


Ⅳ. 트랜잭션 제어 명령어

0. 트랜잭션 명령어

가. COMMIT

나. ROLLBACK

1. 트랜잭션 구성

가. 여러 DML 구문이 하나의 트랜잭션

나. 하나의 DDL 구문이 하나의 트랜잭션

다. 하나의 DCL 구문이 하나의 트랜잭션

2. 트랜잭션 시작 및 종료

가. 시작

* 첫 번째 DML 구문 실행 시

나. 종료

* COMMIT 또는 ROLLBACK 실행 시

* DDL 또는 DCL 구문 실행 시(autocommit)

* SQL PLUS 정상 종료 시(autocommit)

* 시스템 장애 시(autorollback)

 

출처 : 아이티윌 부산교육센터 Oracle Database 12c : 실습가이드북

반응형

'개발(Web) > DB' 카테고리의 다른 글

[Oracle] 데이터정의어(DDL) - Table  (0) 2020.07.21
[Oracle] Manipulating Data  (0) 2020.07.17
[Oracle] SUBQUERY  (0) 2020.07.14
[Oracle] JOIN 연습문제  (0) 2020.07.14
[Oracle] JOIN  (0) 2020.07.10