Mysql에서 테이블에 엑셀 데이터 넣을 때..


Mysql 테이블에 엑셀 데이터를 넣을 때

"LOAD DATA INFILE '파일명' INTO TABLE 테이블명"

이 쿼리로 넣는거로 알고 있는데, 저렇게 엑셀의 모든 데이터를 테이블에 넣는게 아니라,

액셀 데이터의 일부 컬럼만 테이블에 널을순 없을까요?

예를 들면 엑셀 데이터의 컬럼이

[구분 학교 이름 학년 반 번호] 이렇게 구성되어있는데,

Mysql 테이블에는 [학교 학년 번호]

이 데이터만 삽입하고 싶을때는 어떻게 해야하나요 ㅠ

  • 2016년 10월 17일에 작성됨

조회수 116


1 답변


좋아요
1
싫어요
채택취소하기

임시테이블을 사용해보세요.

CREATE TEMPORARY TABLE 임시테이블 LIKE 실제저장할테이블;

위와 같이 하면 실제저장할테이블과 같은 구조로 임시테이블을 생성합니다. (똑같은 경우)

만약 구조가 다르다면 TABLE을 직접 생성하되 TEMPORARY를 추가해면 됩니다.

CREATE TEMPORARY TABLE 임시테이블 ( 구분 ..., 학교..., 이름..., ... );

다음엔 생성한 임시테이블에다가 데이터를 로드하세요.

LOAD DATA  INFILE '파일명'
    INTO TABLE 임시테이블;

이제 임시테이블에서 데이터를 필요한 데이터를 조회해서 실제저장할테이블에다가 데이터를 추가하면됩니다.

INSERT INTO 실제저장할테이블 (학교,학년,번호) SELECT 학교, 학년, 번호 FROM 임시테이블;

끝난후에 임시테이블은 DROP 하면 됩니다.

DROP TEMPORARY TABLE 임시테이블;

참고: http://www.w3schools.com/sql/sql_insert_into_select.asp

  • 2016년 10월 17일에 작성됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.

  • 우와 임시테이블이라는게 있는줄 몰랐네요.. 역시 허대영님 매번 감사합니다!!    capdh   2016.10.17 21:34     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close