2010년 9월 30일 목요일

[MySQL] 두개(여러개) 테이블 데이터 합치기

출처 : http://dddd87.untoc.com/tc/13

잊어먹을라~ ㅠㅠ;;

  1. INSERT Ignore INTO A SELECT * FROM B;

    테이블 A 와 B 가 같은 schema 일 때, 테이블 B의 데이터를 A 의 데이터에 넣는
    쿼리문이다.  A 와 B 의 중복 데이터를 제거하고 A와 다른 데이터만 추가하게 된다.

    예를 들어
      테이블 A 가

      id    name    age
    --------------------------
      1     kim         20
      2     lee         22
      3     kim         23

     이고
     
      테이블 B 가

      id    name    age
    --------------------------
      1     kim         20
      2     lee         22
      3     lee         24
      4     park       20

    일때 INSERT Ignore INTO A SELECT * FROM B; 쿼리 문을 실행 하게 되면 테이블 A는 아래와 같이 된다.
     
      id    name    age
    --------------------------
      1     kim         20
      2     lee         22
      3     kim         23
      4     lee         24
      5     park       20

  2. SELECT * FROM A UNION SELECT * FROM B

    1번과 같은 역할이지만 A테이블로 insert 하는것이 아니라
    테이블 A, B 를 중복된 데이터 제거하고 테이블이 union 되여 화면에 출력된다.
    이때도 테이블 A, B 는 같은 schema

댓글 없음:

댓글 쓰기