DBMS

[DBMS/Oracle] 데이터 삽입

elog 2023. 3. 14. 06:00

[DBMS/Oracle] 데이터 삽입
[DBMS/Oracle] 데이터 삽입

데이터 삽입

- DML(DaTa Manipulation Language)명령에 속한 명령으로 신규 자료 삽입
- 삽입 대상 데이터가 테이블에 존재하지 말아야 함

 

(사용형식)
  INSERT INTO 테이블명[(컬럼명1,컬럼명2[,...])] VALUES(값1,값2,...);

- 테이블명[(컬럼명1,컬럼명2[,...])] : 컬러명을 생략할 수 있음 
   => 테이블에 존재하는 모든 컬럼에 데이터를 컬럼 기술 순선에 맞게 기술해야함.
- 테이블명[(컬럼명1,컬럼명2[,...])]: 컬러명을 기술하는 주된 이유는 필요한 자료만 삽입하는 경우이며,
   컬럼의 기술순서는 테이블에 존재하는 컬럼의 순서와 상관없음
   기술된 '테이블명[(컬럼명1,컬럼명2[,...])]'의 컬럼의 수와 기술순서에 맞게 VALUES절의 데이터가 기술되어야 함.
   컬럼정의시 NOT NULL로 설계된 컬럼은 '테이블명[(컬럼명1,컬럼명2[,...])]'에서 절대 생략될 수 없다.

 

사용예) 다음 자료를 생성한 EMP테이블에 저장하시오
    --------------------------------------------------------
    사원번호    이름      주소                     부서명
    --------------------------------------------------------
     S001    홍길동     대전시 중구 대흥동          공공개발팀
     S002    이순신     서울시 성북구 장위동 
     P001    강감찬                              개발지원팀
             홍길순     충북 청주시 서원구 복대동
        
    INSERT INTO EMP VALUES('S001','홍길동','대전시 중구 대흥동','공공개발팀');
    INSERT INTO EMP VALUES('S002','이순신','서울시 성북구 장위동','');
    INSERT INTO EMP (EMP_ID,DEFT_NAME,EMP_NAME)
        VALUES('P001','개발지원팀','강감찬',);
    INSERT INTO EMP (EMP_ADDR,EMP_NAME,EMP_ID)
        VALUES('충북 청주시 서원구 복대동','홍길순','P002');
    
     SELECT * FROM EMP;
사용예) 사업장 입력
    -------------------------------------------------------------------
    사업장번호   사업장명          주소                    전화번호
    -------------------------------------------------------------------
    10001      연풍성지조성   충북 괴산 연풍
    10003      교동초교신축                          042-222-2222

    INSERT INTO SITE VALUES(10001, '연풍성지조성', '충북 괴산군 연풍면', '');
    INSERT INTO SITE VALUES(10003, '교동초교신축', NULL, '042-222-2222');
    
    SELECT * FROM SITE;
사용예) 근무자료 입력
    ----------------------------------------
    사업장번호   사원번호          투입일                 
    ----------------------------------------
    10003     S002             2020/12/10
    10003     P001             2021/01/19
    10003     S001             2023/01/09
    10001     P002                 ""
 
    INSERT INTO TBL_WORK VALUES(10003, 'S002', '20201210');
    INSERT INTO TBL_WORK VALUES(10003, 'P001', TO_DATE('2021/01/19'));
    INSERT INTO TBL_WORK VALUES(10003, 'S001', SYSDATE);
    INSERT INTO TBL_WORK VALUES(10001, 'P002', NULL);
    
    SELECT * FROM TBL_WORK;