DML (데이터 조작어)
사원정보 데이터베이스에서 A사원의 연봉협상에 성공하여 연봉이 바뀌었다면 데이터베이스 내용도 바꿔줘야 할 것이다.
원하는 정보를 조회하고 수정할 때 사용하는 것이 DML이므로 테이블의 구조가 아닌 테이블안에 있는 데이터를 변경한다.
DML 명령에 의한 변경은 데이터베이스에 영구적이지 않으므로 롤백할 수 있다.
명령어 종류 | 명령어 | 설명 | ||
DML(데이터조작어) | SELECT | 데이터베이스에 들어있는 데이터를 조회하거나 검색하기 위한 명령어. DQL(데이터질의어)로 볼 수도 있다. |
||
INSERT | 데이터의 내용을 추가한다.(즉 행을 추가한다.) | |||
UPDATE | 테이블 내의 기존 데이터 수정 | |||
DELETE | 테이블에서 데이터를 삭제(행만 삭제, 전체 삭제도 가능) |
DDL (데이터 정의어)
만약 내가 사원정보(이름, 사원번호, 핸드폰번호, 부서 등등)을 저장하고 싶을때는 이에 맞는 저장공간이 필요한데 이러한 저장공간을 설정하는 명령어이다.
위와 같은 이유로 생성된 표를 데이터베이스에서는 테이블이라고 한다.
즉 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어이다.
데이터베이스 구조 또는 스키마를 정의하는데 사용, 직접 데이터베이스의 테이블에 영향을 미치기 때문에 DDL명령어를 입력하는 순간, 명령어에 해당하는 작업이 즉시(AUTO COMMIT) 완료된다!
명령어 종류 | 명령어 | 설명 | ||
DDL | CREATE | 테이블 생성 (데이터베이스의 객체를 생성) | ||
ALTER | 테이블 구조 변경 (데이터베이스의 구조를 변경) | |||
DROP | 테이블의 모든 데이터와 구조를 삭제 | |||
TRUNCATE | 테이블에 할당된 모든 공간을 포함하여 모든 레코드를 제거 (테이블 객체의 저장공간 재사용 가능) | |||
RENAME | 이름변경 |
즉 DDL로 데이터를 저장하기 위한 저장구조를 만들고, DML로 데이터베이스에 접근해서 데이터를 저장하고, 변형하고, 확인할 수 있다!
TCL(트랜잭션 제어어)
데이터의 보안, 무결성, 회복, 병행 수행제어 등을 정의하는데 사용
명령어 종류 | 명령어 | 설명 | ||
TCL | COMMIT | 트랜잭션의 작업결과를 저장 반영 (변경된 내용을 영구히 저장) | ||
ROLLBACK | 데이터베이스를 마지막 COMMIT된 시점의 상태로 복원 데이터에 대한 변경내용은 논리적인 트랜잭션을 그룹화될 수 있다. |
|||
SAVEPOINT | 저장점을 정의하면 롤백할 때 트랜잭션에 포함된 전체작업을 롤백하는 것이 아니라 현 시점에서 SAVEPOINT까지 트랜잭션의 일부만 롤백가능. |
INSERT -> COMMIT -> UPDATE -> SAVEPOINT -> DELETE -> ROLLBACK
1) COMMIT : 마지막 COMMIT후로 돌아감
2) ROLLBACK SavePoint1 : ROLLBACK SavePoint1상태로 돌아감
* 참고 및 출처
1. https://brownbears.tistory.com/180
'Oracle > 정리' 카테고리의 다른 글
[Oracle] 단일행함수 (0) | 2021.06.23 |
---|---|
[Oracle] SELECT문 (0) | 2021.06.19 |
[Oracle] cmd에서 sqlplus사용 / sql devleper와 비교 (0) | 2021.06.17 |