2016년 2월 12일 금요일

[SQL 교육] SQL(DML)

[SQL 교육] SQL(DML)

(*본 게시물은 본인이 교육을 통해서 배우는 내용을 정리하는 글입니다. 부족한 부분이 많으니 참고해주시기 바랍니다. 혹시 정확한 의미를 알고 싶으시거나, 틀린 내용에 대해 조언해주시고 싶은 분들께서는 댓글을 남겨주시면 최대한 빠르게 답변하겠습니다. 감사합니다.)
※ Oracle DB를 사용합니다.

  1. SELECT 조회
    1. 구성
      • select 추출하고 싶은 열
      • from 찾고자 하는 대상
      • join ~on 조인, 2개 이상의 테이블에서 검색할 때
      • where 행 제한
      • group by, having 그룹핑
      • order by 정렬
  2. INSERT 삽입
    1. 구성 1
      • insert into 테이블 이름
      • [(열이름)]
      • values 값들
    2. 구성 2
      • insert into ~ select ~
  3. UPDATE 수정
    1. 구성
      • update 테이블 이름
      • set 변경할 열, 값
      • where 변경할 행 조건
  4. MERGE : 데이터를 합칠 때 사용
    1. 조건에 따라서 insert가 되거나 update 해준다.
    2. 예. 2015년 고객정보를 2014년 고객정보에 병합할 때 고객에 따라 추가 되는 경우도 있고 수정되는 경우도 있을 것이다. 예전에는 이 경우 insert 따로 update 따로 해 주었는데, 이제 merge로 한번에 해결 할 수 있다.
    3. 예. 각 지점별로 Data를 각자 운영하다가 한 Data warehouse로 Data를 모을 때 사용 할 수 있다.

    4. 구성
      • merge into 테이블 이름 [alias]
      • using (target|view|subquery) [alias]
        on (join_condition)
      • when matched then
        update set col1=val1[, …]
      • when not matched then
        insert (column_lists) values (values_list);
  5. DELETE 행 삭제
    1. 구성
      • delete from 테이블 이름
      • where 행 조건
  6. COMMIT / ROLLBACK
    1. commit : 작업 적용
    2. rollback : 작업 취소
    3. savepoint : rollback 할 지점을 지정
      1. ex. rollback to savepoint 이름 : savepoint 지점까지만 취소
  7. TRUNCATE
    1. 테이블의 모든 항목을 삭제한다.
    2. 다음의 연산과 동일하다.
      • delete from 테이블 이름;
        commit;
    3. 확실히 삭제해도 되는 것이라면 truncate가 성능이 좋다.

댓글 없음:

댓글 쓰기