MySQL

Excel에서 쿼리 만들기

dmdkd 2023. 4. 11. 21:09

예를 들어서 많은 회원의 정보를 엑셀자료로 넘겨받았을 때, 테이블에 업데이트 시키거나 인서트 시킬시 사용

 

 

사용방법

예)

="UPDATE tableName SET field1='"&$B2&"', field2='"&$C2&"', field3='"&$D2&"' WHERE field1='"&$B2&"';"

이런식으로 한 셀에 쿼리 입력 후 아래로 쭉 드래그 하면 회원 하나하나의 쿼리문이 만들어진다.

 

 

 

사용예시

 

내가 사용했던 예시는

새로운 사용자는 INSERT / 이미 있는 사용자는 바뀐 정보가 있을 수 있으니 UPDATE

조건은 예를들어 아이디나, 회원 코드 같은 것으로 구분한다.

(위와 같은 업데이트 문으로 이미 있는 사용자는 정보를 업데이트를 시켜준 후,

인서트로 새로운 사용자를 추가해주나, 이미 있는 사용자는 제외시켰다. == 중복데이터 제거 SQL문)

="INSERT INTO tableName (field1, field2, field3, field4, field5, field6, field7, field8) SELECT '"&$B2&"', '"&$C2&"', '"&$D2&"', '"&$E2&"', '"&$F2&"', '"&TEXT($G2,"yyyy-mm-dd")&"', '"&$H2&"', '"&$I2&"' FROM DUAL WHERE NOT EXISTS (SELECT * FROM tableName WHERE field2='"&$C2&"' AND field3='"&$D2&"');"

 

※엑셀 날짜 자동변환 시(2021-01-01 => 43466 이런식일때)

'"&$G2&"' 

'"&TEXT($G2,"yyyy-mm-dd")&"' 이렇게 변경해준다.

 

 

 

SQL 중복데이터 제거 관련 참고

https://ayoteralab.tistory.com/entry/MySQL-INSERT-WHERE-NOT-EXISTS

 

[MySQL] INSERT WHERE NOT EXISTS

안녕하세요. 오늘은 기존에 구현했던 AT 시스템에서 한가지 변경이 필요한 부분에 대해서 실험실로 간략하게 진행을 해보고자 글을 적습니다. 이전에 아래에 해당하는 글을 작성하면서 한가지

ayoteralab.tistory.com

 

'MySQL' 카테고리의 다른 글

서브쿼리(select 문 안에 select)  (0) 2023.04.11
[SQL] UPDATE SET문, DB 값 업데이트  (0) 2023.04.11
db 데이터 재업로드  (0) 2023.04.11
엑셀 파일 db 넘기기  (0) 2023.04.11
[HeidiSQL]DB 백업  (0) 2023.04.11