[ ORACLE DML( insert, update, delete, select ) ]
--DML : Data Manipulation Language : ( select, insert, update, delete )
-- 1. select 문 : 데이터 검색
-- 형식) select 컬럼 from 테이블 where 조건들.. group by having order by ...
-- 2. insert 문 : 데이터 삽입(튜플 삽입)
-- 형식)
- 단일행을 삽입하는 경우 : insert into 테이블(컬럼1,컬럼2,...) values(값1,값2,...)
- 복수행을 삽입하는 경우 : insert into 테이블(컬럼1,컬럼2...) (select 컬럼1,컬럼2,... from ~ where ~);
-- 3. update 문 : 데이터 수정
-- 형식) update 테이블 set 컬럼1=값1 where 조건들...
-- 4. delete 문 : 데이터 삭제(튜플 삭제)
-- 형식) delete from 테이블 where 조건
delete * from 테이블명; 과 Truncate Table 테이블명과의 차이점?
: delete를 수행시 자동으로 commit이 이루어 지지 않기 때문에 rollback을 할 수 있지만
truncate의 경우 데이터를 삭제 후 자동으로 commit까지 진행하기 때문에 rollback을 할 수 없다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | --DML : Data Manipulation Language : ( select, insert, update, delete ) -- 1. select 문 : 데이터 검색 -- 형식) select 컬럼 from 테이블 where 조건들.. group by having order by ... -- 2. insert 문 : 데이터 삽입(튜플 삽입) -- 형식) insert into 테이블(컬럼1,컬럼2,...) values(값1,값2,...) -- 3. update 문 : 데이터 수정 -- 형식) update 테이블 set 컬럼1=값1 where 조건들... -- 4. delete 문 : 데이터 삭제(튜플 삭제) -- 형식) delete from 테이블 where 조건 --ex) create table sample( deptNo number(20), deptName varchar2(15), deptLoc varchar2(15), deptManager varchar2(10) ); -- 데이터 튜플 삽입 insert into sample(deptNo,deptName,deptLoc,deptManager) values (1, '인사부' , '강남' , '홍길동' ); select * from sample; -- 필드명을 생략하고 추가할 수도 잇다. 생략하면 전 필드의 데이터를 다 넣어줘야함 insert into sample values (2, '개발부' , '군산' , '홍길순' ); -- deptManager 값을 빼고 튜플을 삽입 insert into sample(deptNo,deptName,deptLoc) values (3, '관리부' , '광주' ); select * from sample; -- deptManager값이 null로 들어감을 알 수 있다. -- deptManager 값이 null인 것을 수정하자. update sample set deptManager = '홍삼순' where deptManager IS NULL ; select * from sample; update sample set deptLoc = '일산' where deptName = '인사부' ; select * from sample; -- 튜플 삭제 delete from sample where deptName = '관리부' ; select * from sample; -- commit 과 rollback -- commit : 최종적으로 명령 처리를 반영하는 명령어 -- rollback : 직전에 수행한 명령을 수행하지 않은 상태로 돌리는 명령어 -- transaction처리와 관련있다. -- 트랜잭션이란? 완전히 다 처리하거나 아예 처리되지 않은 상태로 돌리는 것으로 -- 일부만 수행됨으로써 발생할 수 있는 심각한 오류를 방지하기 위함 -- rollback commit ; |
'스터디 > DB(ORACLE)' 카테고리의 다른 글
ORACLE 뷰(View)와 Inline 뷰 (0) | 2017.09.08 |
---|---|
ORACLE 무결성 제약조건 (0) | 2017.09.07 |
ORACLE DDL( create, drop, alter, truncate ) (0) | 2017.09.06 |
ORACLE 서브쿼리와 ANY,ALL,IN에 대하여... (3) | 2017.09.06 |
ORACLE JOIN(Inner join,Outer Join,Self Join) (0) | 2017.09.05 |