DATABASE
(DB)DML 명령 TCL 명령
김만식이
2020. 9. 14. 18:14
create table 생성
create table sample(
deptno number(20) ,
depname varchar2(15),
deploc varchar2(15),
depmanager varchar2(10),
hiredate varchar2(15)
);
alter session set nls_date_format='rrrr-mm-dd:hh24;mi;ss';
insert into (속성값 넣기)
insert into sample(deptno,depname,deploc,depmanager,hiredate) values(10,'기획실','서울','홍길동','2020-05-05');
값이 컬럼의 값을 지정해서 넣을때
insert into sample values(20,'전산실','부산','김만식','2020-08-05');
컬럼 전체 값을 넣을때
insert into sample values(30,'영업부','광주','null','2020-07-05');
null 값을 넣을때
select *from sample;
update set(속성값 수정)
update sample set deptno =50 where deptno=30;
deptno가 30인 컬럼의 deptno의값을 50으로수정
update sample set deploc ='인천' where deptname='영업부';
deptname가 영업부인 컬럼의 deploc 값을 인천으로 수정
delete(컬럼 내용 삭제)
delete sample where depname='영업부';
commit;
delete sample;
rollback;
select *from sample;
컬럼을 지우고 롤백으로 돌아옴
merge문
여러테이블의 데이터를 합치는 병합을 의미
insert update delete를 한꺼번에 사용가능
mergge into |
using |
on |
when mat |
create table test2(
num number,
name varchar2(10),
price number,
primary key(num)
);
create table test3(
num number,
name varchar2(10),
price number,
primary key(num)
);
테스트 테이블
merge into test2 t2
using test3 t3
on(t2.num = t3.num)
when matched then
update set t2.price = t3.price
when not matched then
insert values(t3.num,t3.name,t3.price);
select *from test2;
t2.num = t3.num 일경우 5번째 업데이트가 실행되고
when not 일경우 insert values 가 실행된다
join update
update (테이블명1)
set(컬럼명) =(
select (컬럼명) from (테이블명2)
where (조건문)
)
where
exists(
select (컬럼명) from (테이블명2)
where(조건문)
)
UPDATE EXM3 E3
SET E3.PRICE = (
SELECT E2.PRICE
FROM EXM2 E2
WHERE E2.NUM = E3.NUM
)
WHERE
EXISTS(--데이터 존재 여부 확인 NULL NOT NULL 의 유무
SELECT * FROM EXM2 E2
WHERE E2.NUM = E3.NUM
);
merge into EXM2 E2
using EXM3 E3
on(E2.num = E3.num)
when matched then
update set E2.price = E3.price;
트렌젝션
데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위를 의미
원자성
트랜잭션이 데이터 베이스에 모두 반영되던가 아니면 전혀 반영되지않아야한다
일관성
트랜잭션의 작업처리 결과가 항상일관성있어야한다
독립성
둘이상의 트랜잭션이 동시에 실행되고 있을경우 다른 트랜잭션의 연산에 끼어들수 없다
지속성
TCL 명령어
ROLLBACK | 트랜젝션 취소 |
CHECKPOINT | 복귀지점 설정 |