감사하게도 http://www.zipfinder.co.kr/ 에서 편리하게 사용가능한 다양한 형식의 우편번호 데이터베이스 파일을 제공해주고있다. 단순 CSV라서 우체국에서 주는것보다 가공하기 편하게 되어있는 편이다.
여기서는 Type 1
우편번호 DB를 기준으로 설명하도록 한다.
-
CSV형태와 통일하게 임포트할 빈 테이블 먼저 생성
CREATE TABLE `korea_zipcode` ( `zipcode` char(7) DEFAULT NULL, `sido` char(4) DEFAULT NULL, `gugun` char(17) DEFAULT NULL, `dong` char(52) DEFAULT NULL, `bunji` char(17) DEFAULT NULL, `seq` int(5) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
다음은 탭문자로 구분되어있는 CSV형태의 텍스트를 MySQL로 임포트하는 SQL구문은 다음과 같다.
LOAD DATA LOCAL INFILE '/example_path/zipcode.txt' INTO TABLE korea_zipcode CHARACTER SET 'euckr' FIELDS TERMINATED BY '\t' IGNORE 1 LINES;
쿼리를 보면 CSV파일의 절대경로가 들어가고, CSV파일의 인코딩은
euckr
로 되어있고, 탭문자\t
로 구분이되며, 첫라인은 헤더이므로 무시해야 한다는 것을 말하고 있다.