Oracle DB_데이터 조작어 (DML)

JW__1.7·2022년 8월 25일
0

DB 공부일지

목록 보기
9/27

데이터 조작어 (DML)

  • Data Manipulation Language
  • 정의된 데이터베이스에 새로운 레코드(ROW/TUPLE_)를 삽입하거나 수정하거나 삭제하는 등의 역할을 하는 SQL문
  • TABLE이나 View 등 데이터베이스 객체에 새로운 데이터를 삽입하거나, 기존 데이터를 갱신 또는 수정할 수 있다.
  • 종류
    • INSERT 레코드 삽입
    • UPDATE 레코드 갱신
    • DELETE 레코드 삭제
  • INSERT INTO TABLE(COLUMN) VALUES(VALUE);
  • UPDATE TABLE SET CONTENT WHERE CONDITION;
  • DELETE FROM TABLE WHERE CONDITION;

INSERT

INSERT INTO 테이블명(칼럼명1, 칼럼명2, ...) VALUES(값1, 값2, ...);

  • 예제) NATION 테이블의 CODE, NAME, NUMBER 칼럼에 새로운 데이터를 입력하시오.
INSERT INTO NATION (CODE, NAME, NUMBER) VALUES (1, 'KOREA', 50) 

→ 컬럼과 값이 짝이 맞지 않으면 오류가 난다.

UPDATE

UPDATE 테이블명 SET 칼럼1 = 값1, 칼럼2 = 값2, ...
WHERE 조건식;

  • 예제) NATION 테이블에서 CODE가 1인 국가의 NUMBER를 40으로 수정하시오.
UPDATE NATION SET NUMBER = 40 WHERE CODE = 1;

DELETE

DELETE FROM 테이블명 WHERE 조건식;

  • WHERE절을 생략하면 전체 레코드가 삭제되므로 주의해서 사용!

    • DELETE FROM nation → nation 테이블의 모든 데이터가 삭제된다.
  • 예제) NATION 테이블에서 CODE가 1인 국가를 삭제하시오.

DELETE FROM NATION WHERE CODE = 1;

트랜잭션(TRANSATION) 관리

  • 데이터베이스에서 처리되는 여러 SQL 명령들을 하나의 논리적 작업 단위로 처리하는 것
  • 작업이 시작되면 중간에 멈추지 않고, 반드시 종료해야 하는 작업 단위 (은행 이체, 프로그램 설치) → 원자성
  • 중간에 멈추게 되면 아무 일도 하지 않은 상태로 되돌아간다.

※ 원자성(Atomicity) : 트랜잭션과 관련된 일은 모두 실행 O 또는 모두 실행 X

트랜잭션 제어 명령

  • COMMIT

    트랜잭션 내의 모든 SQL문 실행 결과로 인해 변경된 작업 내용을 디스크에 영구적으로 저장하고 트랜잭션을 종료한다.

  • ROLLBACK

    트랜잭션 내의 모든 SQL문에 의해 변경된 작업 내용을 모두 취소하고 트랜잭션을 종료한다.

트랜잭션이 필요한 SQL

  • INSERT / UPDATE / DELETE : COMMIT 필요 O
    • INSERT / UPDATE / DELETE는 COMMIT하기 전에 취소 가능
  • CREATE / ALTER / DROP / TRUNCATE / SELECT : COMMIT 필요 X

0개의 댓글