본문 바로가기
MySQL

[MySQL] CSV 파일을 HeidiSQL로 넣기

by 준그래머 2021. 2. 21.
반응형

엑셀 파일로 정리한 데이터를 DB에 넣어야 할 때가 있는데, 개인적으로 자주 사용하는 기능은 아니라 이번에 포스팅해서 두고두고 써먹으려고 한다.

 

기본적으로 필요한 프로그램은 Office Excel과 HeidiSQL이다.

 

먼저 HeidiSQL에서 id 속성을 기본키로 갖고 pw, uName 속성을 갖고 있는 test 테이블을 생성해주는데, 주의할 점은 엑셀의 각 열의 값이 테이블 컬럼의 타입과 다르거나 조건이 맞지 않을 경우 데이터를 넣는 과정에서 에러가 발생할 수 있기 때문에 타입과 조건을 잘 생각하고 만들어 줘야 한다.

CREATE TABLE test(
id INT PRIMARY KEY,
pw VARCHAR(20),
uName VARCHAR(20)
)

 

이제 Excel에서 test파일을 생성해서 아래와 값은 데이터를 넣어보자.

1 행에는 컬럼 네임을 적었고 그 아래로는 데이터를 입력했다. (1 행에 칼럼 네임은 그냥 데이터를 구분하려고 추가 했으며 따로 입력하지 않아도 상관없다. ) 데이터의 순서는 아까 DB에서 만든 테이블의 컬럼 순서와 동일해야 한다. 그렇지 않으면 데이터의 순서가 바뀌어서 들어간다.

 

마지막으로 저장할때는 CSV UTF-8(쉼표로 분리)로 저장하자. (쉼표로 분리되어 있다는 사실을 기억할 것)

 

 

다시 HeidiSQL로 돌아가서

[도구] - [CSV 파일 가져오기..] 를 클릭하면 아래와 같은 창이 뜰 것이다.

 

아까 쉼표로 분리 저장을 했으니 필드 종결자를 , 로 바꿔준다. 그리고 아까 Excel의 첫 번째 행을 컬럼명으로 작성했으니 1줄을 무시하도록 선언하고 원하는 데이터베이스 안에 테이블의 컬럼을 지정해 주고 가져오기를 클릭해 주면 아래처럼 성공적으로 데이터가 들어온다.

 

만약 데이터가 제대로 들어오지 않았다면 먼저 테이블에 데이터가 들어왔는지 확인하고 데이터가 들어왔다면 제대로 들어왔는지 확인해야 한다. 아까 위에서 설명한 것처럼 필드 종결자, 무시할 줄, 엑셀 파일의 속성 순서 등이 잘못되었을 가능성이 크다..

반응형

'MySQL' 카테고리의 다른 글

이메일 중복 값 탐색 시 UNION을 이용한 처리  (0) 2021.02.21