본문 바로가기

DB/ORACLE

220831_ORACLE_국비_RENAME/DML/INSERT/UPDATE

5. RENAME

  • 테이블명 변경
  • 형식  : rename table_name to new_table_name

 

<ename, sal, mgr을 컬럼으로 하는 emp_07생성 후, oracle_07로 테이블명 변경>

테이블 생성)

 

테이블명 변경)

 

테이블명 변경 확인)


DML(Data Mainpulation Language)

  • 테이블내의 데이터를 조작하는 언어
  • 테이블의 내용을 추가(insert), 수정(update), 삭제(delete)
  • 자동 commit되지 않음

 

1. INSERT

  • 테이블에 새로운 행 추가(새로운 데이터 입력) 할때 사용
  • 테이블의 모든 컬럼에 입력하는 경우 : 컬럼목록 기술 불필요, 생략되면 VALUES절의 기본 컬럼 순서대로 입력
  • 형식  - insert into table_name(컬럼명) values(컬럼값);
             - insert into table_name values(값); 

 

<dept테이블의 기본구조로 레코드 없이 dept_02생성 후, 행 추가>

테이블 생성)

 

새로운 행 추가 및 확인_1)

 

새로운 행 추가 및 확인_2)

레코드를 입력하지 않으면 null값으로 자동입력됨

 

새로운 행 추가 및 확인_3)

컬럼명을 생략해도 값이 입력됨

 

에러)

컬럼명과 값의 갯수가 맞지 않을 경우 오류가 뜸

 

 

<emp_08테이블에 오늘날짜에 입사한 kim 새로운 행 생성>

 

확인)

sysdate를 통해 system에 설정되어 있는 날짜로 생성가능

 

 

1-1. 다중table의 다중 row 입력

  • insert all : 반드시 서브 쿼리와 함께 사용

<emp_hir, emp_mgr테이블 생성 후, 20번부서에서 근무하는 사원 추가>

테이블생성)

 

다중 row입력)

 

확인)

 

1-2 null값 삽입

  • 암묵적 null값 삽입

 

확인)

 

 

  • 명시적 null값 삽입

 

확인)

 

 

2. UPDATE

  • 테이블에 저장된 데이터(기존 행)를 수정하기 위해 사용
  • where절을 사용하지 않을 경우 테이블에 있는 모든 행이 수정됨
  • 형식 : update table_name
              set 컬럼명1, 컬럼명2,,,
             where 조건;

<emp_hir테이블에서 'SMITH'의 사원번호 변경>

 

확인)

 

where절을 쓰지 않았을 경우)

 

확인)

모든행이 수정됨

 


<예제>

- INSERT -

<비어있는 emp_07, emp_08 테이블을 생성후, 10번 부서의 사원을 갖는 레코드 추가>

방법1_create문)

 

방법1_ 테이블 확인)

 

방법2_비어있는 테이블 생성 후 insert into 활용)

 

방법2_테이블 확인)

 

 

- UPDATE - 

<emp_hir테이블의 'SCOTT'의 empno=5555로 변경 후, 모든 사원들의 입사일을 어제(22.08.30)날짜로 변경>

 

확인)

 

 

<emp테이블과 동일한 emp_02 생성 후

   1. 이름에 'T'가 들어 있는 사원 월급을 1300으로 변경

   2. 모든 'MANAGER'의 입사일을 어제(22.08.30)날짜로 변경 >

 

확인)

 

 

<emp_02테이블의 사원중에서 급여가 3000이상인 사원들의 급여를 30%인상하고,

  입사일을 '22/01/01'로 변경>

확인)

 

 

<01월에 입사한 사원의 월급을 10000 인상>

 

확인)

 

 

<'DALLAS'에서 근무하는 사원들의 월급을 5000인상>

 

확인)

 

 

<emp_02테이블의 모든 사원의 급여, 입사일을 'KING'사원의 급여와 입사일로 변경>

방법1)

확인)

 

방법2_emp_02테이블 삭제 후 다시 생성)

 

확인)