본문 바로가기

SQL

[Oracle] DML(Data Manipulation Lauguage)

DML(Data Manipulation Lauguage)

-insert : 데이터 입력

-update : 데이터 수정

-delete : 데이터 삭제

-merge : 데이터 입력,수정,삭제

 

* TCL(Transaction Control Language)

-commit : DML 영구히 저장

-rollback : DML 영구히 취소

-savepoint : rollback 기능을 도와주는 표시자

-Transaction : 논리적으로 DML을 하나로 묶어서 처리하는 작업단위

 

1. insert문

: 테이블에 새로운 행을 입력하는 SQL문

desc emp

insert 입력하기 전에 테이블의 구조를 확인한 후에 insert문을 생성

insert into 소유자.테이블(컬럼,컬럼,...)

values(데이터,데이터,..);

select *
from nls_session_parameters;
insert into hr.emp(id,name,day) --Transaction 시작
values(1,’김영희’,to_char(’2021-12-16’,’yyyy-mm-dd’));
select * from hr.emp; --미리보기
insert into hr.emp(id,name,day) --day 컬럼에 default값이 구성되어 있으면 
                               --insert를 수행하는 시점에 default값으로 구성된 default값이 입력된다
values(2.’성춘향’,sysdate); select * from hr.emp; --미리보기
commit; --영구히 저장, Transaction 종료

 

-null값 입력하는 방법

nsert into hr.emp(id,name,day)
values(3.’김감자’,null); --day컬럼에 default값이 설정되어 있더라도 null이 우선순위가 높다.
select * from hr.emp;
commit;

2. update문

: 특정한 필드값을 수정하는 SQL문

update 소유자.테이블 —transaction 시작

set 수정할 필드가 있는 컬럼 = 새로운 값

where 조건;

rollback; —영구히 취소, transaction 종료

update hr.emp
set name = ‘커리’, day = default
where id = 8;
select * from hr.emp where id =8;
commit;

3. delete문

: 행을 삭제하는 SQL문

delete from 소유자.테이블;

delete from 소유자.테이블 where 삭제해야할 행의 조건;

delete from hr.emp --조건이 없으면 전부 삭제

delete from hr.emp
where id = 1;
commit; --종료. 1만 영구히 삭제됨.
Recent Posts
Popular Posts
Recent Comments