DBMS/Summary

DML (Data Manipulation Language)

gandus 2010. 5. 26. 12:48

Data Manipulation Language  - > 데이타 조작 언어.

select , update , insert,  delete


transaction - > 한번에 실행되는 양이다.



insert 문


INSERT INTO dept(deptno, dname, loc)
VALUES (50, ‘Training’, ‘Daegu’);


rollback ;  - > 이전의 작업을 취소하고 그 전으로 되돌린다.
                    (버퍼에 임시로 저장되어 있어서 가능)

commit;    -> 최종적으로 저장시켜준다.



INSERT INTO emp
  VALUES(8000, ‘Louis’, …, SYSDATE, …);      // 오라클에서 현재 날짜를 넣어준다.

MySQL
INSERT INTO emp
   VALUES(8000, …, CURDATE(), …);               // mysql 에서는 이렇게 처리




create table dept2 as select *from dept;           // 전체 테이블을 복사 시키는것 


CREATE TABLE emp_temp (                          // 원하는 필드를 포함하는 테이블을 만들고
        empno int(4),
        ename varchar(10)
     );

INSERT INTO emp_temp                                //  원하는 값을 검색해서 넣어준다. values 는 생략한다. - > 모든 레코드를 넣기때문
  SELECT empno, ename FROM emp
  WHERE job LIKE ‘%MAN%’;




Update 문


empno가 7369 인 사람의 직업과 월급을   empno - 7876 인 사람과  같이 하라.

UPDATE emp
SET job = (SELECT job
                  FROM emp
                  WHERE empno = 7876),
        sal = (SELECT sal
                  FROM emp
                  WHERE empno = 7876)
WHERE empno = 7369;




Delete 문

drop 문은 테이블 전체가 지워져서 rollback이 되지 않는다.
->  롤백이나 컴밋은 트랜잭션 단위로 실행되기 때문에......


DELETE FROM emp
WHERE deptno = (SELECT deptno
                              FROM dept
                              WHERE dname LIKE ‘%Public%’);