본문으로 바로가기

DML

category DataBase/OracleDB 2020. 9. 4. 17:11

INSERT

 : 테이블에 새로운 데이터를 입력할 때 사용하는 명령어

 : 데이터를 입력할 때 숫자 값 이외에는 데이터를 '작은 따옴표'로 감싸야 함

INSERT INTO 테이블명 (컬럼명1, 컬럼명2, ...)
VALUES (데이터1, 데이터2, ...);

 : 모든 데이터를 입력할 때에는 테이블명 뒤 컬럼명은 생략이  가능함

INSERT INTO 테이블명 VALUSE(데이터1, 데이터2, ...);

 

: 유닉스는 DATE 타입을 넣을 때 날짜 형식이 맞지 않으면 에러가 발생함

   날짜 형식을 변경하는 명령어를 사용해 주어야함

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD:HH24:mi:SS';

 

 : 자동 NULL값 입력하기

   - 데이터를 입력할 때 컬럼에 값을 입력하지 않으면 자동으로 NULL값이 들어감

 : 수동 NULL값 입력하기

   - 입력할 데이터를 적는 부분에 NULL을 입력해주면 됨

 

 : 음수값 및 소수점자리 값 입력하기

   - NUMBER에 크기를 지정해주지 않으면 정상적으로 출력됨

   - NUMBER에 크기만 지정해주면 소수점 자리는 표시해주지 않음

   - NUMBER에 크기와 소수점 자리수까지 지정해주면 정상적으로 출력됨

 

INSERT와 서브쿼리를 사용해서 여러행 입력

(professor 테이블)

더보기

이메일 및 주소 형식이 들어가있어 하이퍼링크가 걸리면서 제대로 입력되지 않아 txt파일로 올렸습니다.

professor 테이블.txt
0.00MB

INSERT ALL

: 테스트를 위한 테이블 생성

 : INSERT ALL

 : 확인

 

 

UPDATE

: 기존 데이터를 다르 ㄴ데이터로 변경할 때 사용하는 방법

 : WHERE절을 누락시키지 않도록 주의

UPDATE 테이블명 
SET 컬럼명 = 데이터
WHERE 조건;

 

 

DELETE

 : 데이터를 삭제하는 구문

 : DELETE한 데이터는 삭제되지 않고 해당 블록에 그대로 남아있으며 특별한 툴(BBED 등)을 이용하면 복구 가능

DELETE FROM 테이블명 WHERE 조건;

 

 

MERGE

 : 여러 테이블의 데이터를 합치는 병합을 의미

MERGE INTO 테이블1
USING 테이블2
ON (병합 조건절)				// 조건이 만족시
WHEN MATCHED THEN			// 기존 테이블1에 있던 해당 내용은 테이블2의 내용으로
UPDATE SET (업데이트 내용)	  	// UPDATE 또는
DELETE WHERE (조건)			// DELETE가 수행됨
WHEN NOT MATCHED THEN			// 만약 조건이 만족하지 않는다면
INSERT VALUES(컬럼명);			// 테이블2의 내용이 테이블1에 신규 INSERT 됨

 

 

UPDATE 조인

 : UPDATE문에 조인이 발생하는 경우는 WHERE절에만 다른 테이블과 조인을 하는 경우와

   WHERE절과 SET절 모두 다른 테이블과 조인을 하는 경우입니다.

 

 : 일반적인 UPDATE - 단일 테이블

 

 : 일반적인 UPDATE 조인

   - WHERE절에서 다른 테이블과 조인

 

 

TRANSACTION

 : 논리적인 작업 단위를 의미

 : 여러가지 DML 작업들을 하나의 단위로 묶어둔 것을 의미

 

 : 해당 트랜잭션 내에 있는 모든 DML이 성공해야 해당 트랜잭션이 성공하는 것이고

   만약 1개의 DML이라도 실패하면 전체가 실패하게 됨

 

 : 트랜잭션의 시작은 DML이고 완료하려면 TCL, DCL, DDL을 입력

 

 : TCL 명령어

명령어 설명
COMMIT 트랜잭션 내의 작업의 결과를 확정
ROLLBACK 트랜잭션 내의 모든 명령어들을 취소
CHECKPOINT ROLLBACK하는 시점을 지정

 

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

 

 

반응형

'DataBase > OracleDB' 카테고리의 다른 글

Oracle 11g ex 설치  (0) 2020.09.14
Oracle 11g ex 삭제  (0) 2020.09.14
DDL 명령과 딕셔너리  (0) 2020.09.04
Constraint (제약 조건)  (0) 2020.09.04
JOIN  (0) 2020.09.03