티스토리 뷰

Database ORACLE

1130

푸른하늘댁 2017. 12. 5. 16:54

DML(Manipulation L.): 반드시 TCL(commit/rollback)

삽입저장: insert

변경저장: update

삭제: delete


1. insert into 테이블명 

   values (테이블 구조의 컬럼목록에 매칭될 데이터목록);

insert into departments

values (300, 'After Service', null, null);

select * from departments;

desc departments;


2. insert into 테이블명(컬럼명 목록)

   values (나열된 컬럼목록에 매칭될 데이터목록)

insert into employees(employee_id, first_name, last_name,

                        email, hire_date, job_id)   

values (900, '길동', '홍', 'hong@naver.com', sysdate, 'ST_CLERK');

select * from employees

where employee_id>300;

commit;


모든 데이터의 기본값(default값)은 null 


desc employees;


3. insert into 테이블명 서브쿼리;

여러개의 데이터행을 한꺼번에 삽입저장할 수도 있다

: 이미 존재하는 데이터행을 복사해서 삽입저장하는 형태


insert into departments(department_id, department_name)

select department_id+1, department_name

from departments;


select * from departments;

rollback;


2. 변경저장 - where 절이 누락되지 않도록 한다

update 테이블명 

set 컬럼명1 = 데이터값1, 컬럼명2 = 데이터값2,  ...

where 조건절;


update employees

set salary=6000, phone_number='010.1234.5678'

where employee_id=900;


select * --employee_id, last_name, salary 

from employees

where employee_id=900;

rollback;

commit;


사번 900번 사원의 

급여를 우리회사의 평균급여로 변경저장한다.

update employees

set salary=(select round(avg(salary)) from employees)

where employee_id=900;


3. 데이터행 삭제  - 조건절이 누락되지 않도록 한다.

delete from 테이블명

where 조건절;


delete from employees

where employee_id=900;


select * --employee_id, last_name, salary 

from employees

where employee_id=900;

rollback;


delete from departments

where department_id>110;


select * from departments;



'Database ORACLE' 카테고리의 다른 글

프로시저 procedure  (0) 2017.12.06
1127  (0) 2017.12.05
1123  (0) 2017.12.05
1122  (0) 2017.12.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함