<INSERT>

 

 

- 새로운 데이터 입력하기 

 

- 문법 : INSERT INTO table[(column1, column2, ...)]

VALUES (value 1, value 2, ...);

 

 

- 테이블 이름 뒤 컬럼이름은 생략가능하다.

 

 

- 특정 컬럼에만 데이터를 입력해야 할 경우 반드시 테이블 이름 뒤에 입력하고자 하는 컬럼 이름을 적어주고 VALUES에 해당 컬럼에 들어갈 값을 명시해야 한다.

 

 

- 날짜 데이터 입력하는 법 

 

 

- 음수 값 입력하는 법 

 

* 값을 테스트할 테이블을 먼저 생성했다.

 

NO1 은 자릿수 지정 X

NO2 정수부 자릿수 3자리로 지정

NO3 소수점 이하 자릿수까지 지정

 

 

 

- INSERT와 서브쿼리를 사용하여 여러 행 입력하는 방법 

 

* PROFESSOR 테이블을 복사하여 PROFESSOR3 테이블 생성

 

* PROFESSOR 에 있는 데이터를 복사한 테이블로 가져와서 입력했다.

 

* 새로 PROFESSOR 4 데이터를 만들어 원하는 컬럼을 가져와 

조건을 사용하여 원하는 데이터를 한꺼번에 가져와서 입력할 수 있다.

 

 

- INSERT ALL

 

* PROF 3 ,4 테이블 생성

 

 

* INSERT ALL 을 이용해 여러테이블에 여러 행을 입력할 수 있다.

 

 

- 다른 테이블에 동시에 같은 데이터를 입력할수 있다.

 

 

 

 


 

 

 

<UPDATE>

 

 

- 데이터 변경하기 

 

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

 

- 문법 : UPDATE TABLE

SET column = value

WHERE 조건;

 

* UPDATE 문장에서 WHERE 절을 누락시키지 않도록 주의해야 한다.

 

 

 


 

 

 

<DELETE>

 

 

- 데이터를 삭제하는 구문이다.

 

- 문법 : DELETE FROM table

WHERE 조건;

 

* DELETE문은 데이터를 삭제하지만, 사실 데이터는 삭제되지 않고 해당 블록에 그대로 남아있다. 

(특별한 툴을 이용하면 DELETE된 데이터도 전부 복구할 수 있다.)

 

그렇기 때문에 DELETE를 한 후 테이블의 크기를 확인해보면 크기가 줄어들지 않고 그대로인 것을 확인할 수 있다.

 

 

 

 


 

 

 

<MERGE>

 

 

- 여러 테이블의 데이터를 합치는 병합을 말한다.

 

- 문법 : MERGE INTO table1

USING table 2

ON(병합조건절)

WHEN MATCHED THEN

UPDATE SET 업데이트 내용

DELETE WHERE 조건

WHEN NOT MATCHED THEN

INSERT VALUES(컬럼이름);

 

 

* 테이블 생성 

 

 

* 데이터 입력 

 

 

* 데이터를 모을 테이블 생성

 

 

* CHARGE_01 테이블과 CH_TOTAL 테이블 병합

CHARGE_02 테이블과 CH_TOTAL 테이블 병합 

 

 

* 위 코드 결과 

 

 

 

 


 

 

 

<UPDATE JOIN>

 

 

 

-  일반적인 UPDATE가 아닌, 다른 테이블과 조인할 수 있다.

 

- UPDATE문에 조인이 발생하는 경우는 WHERE 절에만 다른 테이블과 조인을 하는 경우와 WHERE 절과 SET절 모두 다른 테이블과 조인을 하는 경우가 있다.

 

 

* 단일 테이블 업데이트와 WHERE 절에서 다른 테이블과 조인하는 예

 

 

- SET 절에 다른 테이블과 조인하는 법 

 

* 테스트를 위해 새 테이블 생성 

 

 

* 테스트 데이터로 부서 번호가 20번인 사원 발령 부서 번호 99로 데이터 INSERT 

 

 

* EMP 테이블에 존재하지 않는 사원번호 2건을 INSERT

 

 

* 업데이트 대상값 조회 

 

 

* 사원 테이블에 존재하는 사원 중 현재 소속된 부서번호 UPDATE 한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

openclose