ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2.8 SQL 데이터조작어(UPDATE, DELETE)
    SQL 과정 2019. 2. 8. 10:08

    1. UPDATE문

     가. 테이블에 저장된 데이터를 수정하기위해 사용

     나. 기존의 행을 수정하는 것

     다. 형식

       1) 어던 행의 데이터를 수정할 것인지를 WHERE절의 조건으로 지정한다.

       2) WHERE절을 사용하지 않을 경우 테이블에 있는 모든 행이 수정된다.

       3) 그러므로, WHERE절 사용 유무를 신중히 결정해야한다.

       4) 테이블에서 여러개의 컬럼값을 변경하고자 할 경우 SET절에 콤마( , )를 추가하여 컬럼 = 값을 

      나열해주면 된다.


       5) UPDATE문의 SET절에 서브쿼리문을 기술하면 서브 쿼리를 수행한 결과로 내용이 변경된다.

       6) 이 방법을 이용하면 다른 테이블에 저장된 데이터를 이용하여 해당 컬럼 값을 변경할수 있다.



    * emp06 테이블의 deptno의 모든 행을 30으로수정한 것(WHERE조건 사용 안함)


    *emp06 테이블의 sal 컬럼의 모든 행을 1.1로 곱하였다.(WHERE조건 사용 안함)


    * emp06테이블의 hiredate컬럼의 모든 행을 현재 날짜로 수정(sysdate)[WHERE 사용안함]


    * emp07테이블의 deptno컬럼의 값이 10인 경우 40으로 수정하였다.(WHERE조건 사용)


    * MANAGER 값을 가지는 job컬럼을 조건(WHERE)으로 sal컬럼을 1.1을 곱하였다.


    * hiredate컬럼 값의 첫번째 자리 두글자(SUBSTR)87인 경우 현재 날짜(sysdate)로 수정하였다.


    * scott 값을 가진 ename컬럼을 조건으로 job컬럼과 deptno컬럼을 MANAGER, 40으로 수정하였다.

      (다중 행 수정)


    * ename컬럼의 값이 JAMES인 경우를 조건으로 hiredate를 현재날짜, sal 값을 7000, comm은 2000으로 수정

      하였다,(다중 행 수정)


    * deptno가 20인 경우 deptno가 40인 loc값으로 deptno 20의 loc값을 수정한다.(서브쿼리 사용)


    2. DELETE문

     가. 테이블에 저장되어 있는 데이터를 삭제

     나. 테이블의 기존 행을 삭제하는 명령문

     다. 형식

       1) 테이블을 삭제할 때 WHERE절에 특정 조건을 부여하여 원하는 행만 삭제 가능

       2) DELETE문에 WHERE절을 사용하지 않을 경우 테이블에 있는 모든 행이 삭제 되므로 주의 할것


    * WHERE절 없이 DELETE문 사용(모든 데이터 삭제)[구조는 남아있다.]


    * WHERE절 사용으로 deptno가 30인값을 가진 데이터만 삭제


    * emp09 테이블의 deptno컬럼dept테이블의 dname이 SALES 값을 가지는 걸 조건으로 

      해당 데이터를 삭제한다.(서브쿼리, 다른 테이블 이용)


Designed by Tistory.