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

조회수 4116회

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

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

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

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

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

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

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

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

  • (•́ ✖ •̀)
    알 수 없는 사용자

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 21:34

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)