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만 영구히 삭제됨.
'SQL' 카테고리의 다른 글
[Oracle] auto commit, auto rollback, savepoint (0) | 2021.12.31 |
---|---|
[Oracle] 테이블 복제, 테이블 subquery (0) | 2021.12.31 |
[Oracle] 테이블 생성/추가/삭제 (0) | 2021.12.31 |
[Oracle] 유저 관리 - 유저생성, 권한부여, 권한변경, 유저삭제 (0) | 2021.12.31 |
[Oracle] 계층검색 (0) | 2021.12.31 |