DML(Data Manuplation Language)

양혜정·2024년 3월 5일

Oracle

목록 보기
29/49

DML(Data Manuplation Language)

  • 데이터 조작어
  • 종류 : insert, update, delete, merge
  • 특징 : 수동 commit으로 rollback 가능

Insert ( 데이터 입력 )

-- [기본 문법]
insert into 테이블명(컬럼명1,컬럼명2,...) values(1,2,...); 
  • 조건이 없는 insert => Unconditional insert all

  • 조건이 있는 insert => Conditional insert all

insert all 
into 테이블명1(컬럼명1, 컬럼명2, ....)
values(1,2, .....)
into 테이블명2(컬럼명3, 컬럼명4, ....)
values(3,4, .....)
SUB Query문;
-- Unconditional insert all => SUB Query문에 where 절 X
-- Conditional insert all 
-- 		=> SUB Query문에 where 절 조건 만족 시 insert(삽입)

update - 데이터 수정

update 테이블명 set 컬럼명1 = '문자1' 또는 숫자1
where 컬럼명2 = '문자2' 또는 숫자2;
-- 컬럼명2이 문자2 또는 숫자2 와 일치하면 
-- 테이블명에 있는 컬럼명1을 문자1 또는 숫자1 로 업데이트 해준다. 

delete - 데이터 삭제

delete from 테이블명
where 컬럼명 = '문자' 또는 숫자;
-- 컬럼명이 문자 또는 숫자와 같다면 
-- 테이블명에 존재하는 일치하는 값을 삭제해준다.

merge - 데이터 병합

  • 어떤 2개 이상의 테이블에 존재하는 데이터를 다른 테이블 한곳으로 모이는것(병합)
    ★ 주의. merge 는 insert 에 into 가 붙지 않는다!!
merge into 테이블명 "별칭1"
using 테이블_백업 "별칭2"
on (별칭1.컬럼명1 = 별칭2.컬럼명1)
when matched then 	-- 똑같은 것이 있는 경우
	update set 별칭1.컬럼명2 = 별칭2.컬럼명2
			, 별칭1.컬럼명3 = 별칭2.컬럼명3
when not matched then 	-- 똑같은 것이 없을 경우
insert (컬럼명1, 컬럼명2, 컬럼명3) 
values(별칭2.컬럼명1, 별칭2.컬럼명2, 별칭2.컬럼명3);

정리

-> local_hr에서작업한것

0개의 댓글