본문 바로가기
oracle/[SQL] SQL

7장. DML

by #moonyz 2014. 10. 6.

DDL(Data Definition Language) : CREATE(생성), ALTER(수정), TRUNCATE(잘라내기), DROP(삭제)


DML(Data manipulation Language) : INSERT(입력), UPDATE(변경), DELETE (삭제), MERGE(병합) 

-- 데이터를 관리하는 명령어


DCL(Data Control Language) : GRANT(권한주기), REVOKE(권한뺏기)


TCL(Transaction Control Language) : COMMIT(확정), ROLLBACK(취소)



1. INSERT 

- INSERT INTO table[(column1),(column2), ...] VALUES (value1, value2, ... )

- column이름을 적어주지 않으면 뒤에 값이 순서대로 들어간다.

- 특정 컬럼에 값을 넣고 싶을때 컬럼명과 값의 순서를 일치시켜주면 됨

- 날짜데이터 입력하기 : 날짜형태를 맞춰준 후 입력해야 한다.

유닉스용 오라클 : DD-MON-YY

윈도우용 오라클 : YYYY-MM-DD

TO_DATE('2014-10.06', 'YYYY-MM-DD')

SQL> ALTER SESSION SET nls_date_format='YYYY-MM-DD:HH24:MI:SS' ;

- null 값 입력 : 데이터입력시 컬럼에 값안주면 자동으로 null / 데이터값 부분에 null을 적어주면됨


2. INSERT ALL

- INSERT ALL INTO table_name VALUES (value1, ...)

  INTO table_name VALUES (value1, ...)

  ...

- 여러테이블에 여러행 입력할때 사용



3. UPDATE 

- UPDATE table  SET column = value  WHERE 조건 ;

- 기존 데이터를 다른 데이터로 변경할때 사용



4. DELETE 

- DELETE FROM table WHERE 조건 ;

- 데이터를 삭제

- delete로 데이터 삭제 시 용량은 변함 없음

- 데이터가 지워졌는데 용량까지 줄이고 싶다면 REORG 작업 별도로 해야한다.



5. MERGE 

- MERGE INTO table1  USING table2  ON 병합조건절  WHEN MATCHED TEHN

UPDATE SET 업데이트내용

DELETE WHERE 조건

WHEN NOT MATCHED THEN

INSERT VALUES(컬럼명);



6. TRANSACTION

- 논리적인 작업단위

- DML 작업들을 하나의 단위로 묶어 둔 것을 의미한다.

- DML 작업을 한 후 에는 반드시 COMMIT 이나 ROLLBACK 명령을 수행해야 작업이 마무리 됨

- DDL 명령어는 자동 COMMIT 되기 때문에 ROLLBACK 불가능



'oracle > [SQL] SQL' 카테고리의 다른 글

9장. 인덱스(Index)  (1) 2014.10.07
8장. 제약조건  (0) 2014.10.06
6장. DDL  (0) 2014.10.02
5장. JOIN  (0) 2014.10.02
4장. 복수행 함수 (그룹함수)  (0) 2014.10.01

댓글