1cm

자바 프로그래밍_Day_36_DML(INSERT, UPDATE) 본문

국비지원_Java/Java Programming_1

자바 프로그래밍_Day_36_DML(INSERT, UPDATE)

dev_1cm 2021. 10. 16. 14:06
반응형

 

 

2021. 10. 08

 

 

     > DML (Data Manipulation Language)

       -> 데이터 조작 언어로 테이블에 값을 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)하는 구문을 말함

 

     > INSERT

       -> 테이블에 새로운 행을 추가하여 테이블의 행 개수를 증가시키는 구문

       -> INSERT하고자 하는 컬럼이 모든 컬럼인 경우 컬럼명 생략이 가능하지만 컬럼의 순서를 지켜서 VALUES절에 값을 적어줘야 한다.

       -> INSERT 시 VALUES 대신 서브쿼리 이용이 가능하다.

 

 

       -> PRIMARY KEY -> NULL값 입력 불가능

       -> FOREIGN KEY -> NULL값 입력 가능하지만 해당 테이블 컬럼안에는 NOT NULL제약조건이 걸려 있으므로 NULL값 입력 불가능

       -> 컬럼 순번을 지켜서 테이블에 새로운 행을 추가

 

 

       -> 내가 선택한 컬럼에 대한 값만 INSERT

 

 

       -> 서브쿼리로 조회한 결과 값을 통째로 INSERT하기 위한 테스트용 새로운 테이블 생성

       -> SET절이나 WHERE 절에서도 서브쿼리 사용이 가능하다.

 

       -> 서브 쿼리의 결과 값을 통해 INSERT하는 두 가지 방법

 

 

 

     > INSERT ALL

       -> INSERT 시 서브쿼리가 사용하는 테이블이 같은 경우, 두 개 이상의 테이블에 INSERT ALL을 이용하여 한 번에 삽입 가능하다.

       -> 단, 각 서브쿼리의 조건절이 같아야 한다.

 

 

      -> 두 개의 테이블에 동일한 서브쿼리를 사용하여 데이터 삽입이 가능하다.

 

 

       -> 하나의 동일한 서브쿼리를 사용하여 조건에 따라서 WHEN, THEN절을 사용하여 데이터를 삽입해준다.

 

 

 

 

     > UPDATE

       -> 테이블에 기록된 컬럼의 값을 수정하는 구문으로 테이블의 전체 행 개수에는 변화가 없다.

       -> WHERE 조건을 설정하지 않으면 모든 행의 컬럼 값이 변경된다.

       -> UPDATE 시에도 서브 쿼리 사용이 가능하다.

       -> 각각 쿼리문 작성한 것을 다중 행 다중 열 서브쿼리로 변경이 가능하다.

 

 

 

       -> SET, WHERE 절에도 서브쿼리 사용이 가능하다.

 

 

       -> 테스트를 진행할 테이블(DEPT_COPY, EMP_SALARY) 생성

 

       -> WHERE 조건절을 적어주지 않으면 모든 행들의 이름이 변경된다.

 

 

       -> 원하는 행의 데이터를 WHERE 조건절을 통해 변경해준다.

 

 

       -> 기존 급여에서 10% 인상한 금액

 

 

       -> NOT NULL 제약 조건, FOREIGN KEY 제약조건에 위배되는 실습

 

반응형
Comments