* 사적인 내용은 제거하고, 정보만 전달하려고 합니다. 혹시 폰트 문제가 있으시다고 그러면 내리겠습니다.
제가 티스토리로 Google Analytics로 수익을 얻는 것도 아니니,
혹시라도 비상업적이어도 문제의 소지가 있다면,
이메일 주소 ryadjs@tistory.com 로 문의해주시기 바랍니다. 자주 사용하는 메일이 아니다보니,
조금 응답이 느릴 수 있습니다.
그리고 보내실 때, 제목 포함 + 실명 또는 닉네임 표기
제가 이걸 강조하는 이유는 제 메일이 좀 오래되다 보니, 스팸메일이 많습니다.
우편번호 DB에 올려봅시다.
자바 path를 설정해줄때 C:\Program Files\Java\jdk1.6.0_31\bin 을 해주듯이
MySQL도 path를 설정해줘야 합니다.
C:\Program Files\NVIDIA Corporation\PhysX\Common;%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Java\android-sdk-windows\tools;C:\Java\android-sdk-windows\platform-tools;%CATALINA_HOME%\bin;C:\Program Files\MySQL\MySQL Server 5.5\bin
아 그리고 보통 밑줄 친 전에 ; 것이 없을 것입니다... 세미콜론 추가하고 적어주는거 잊지 맙시다
이렇게 한 다음 파일을 받야야합니다. http://www.zipfinder.co.kr/
들어가줘서 Type 1을 받아줍니다... 저 같은경우에는
여기서 중요한거는 텍스트문서인데 파일을 올려놓겠는데 최신버젼을 받을려면 아까 말했던 집파인더 사이트가서 txt파일을 받아줍니다. 전 살짝 이파일을 수정했습니다. zipcode_20120126(1) -> zipcode_20120126
자 그리고 DB에서 컬럼을 CREATE TABLE `mymulti`.`zipcode` (
`zipcode` CHAR(7) NOT NULL ,
`sido` VARCHAR(4) NOT NULL ,
`gugun` VARCHAR(17) NOT NULL ,
`dong` VARCHAR(52) NOT NULL ,
`bunji` VARCHAR(17) NOT NULL ,
`seq` INT(5) UNSIGNED NOT NULL ,
PRIMARY KEY (`zipcode`, `seq`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = euckr;
이 사이트에 나와있는 컬럼 길이를 정했는데 맞는지 모르겠군요.. 의심이 가신다면 조금씩 늘려주셔도 됩니다.
MySQL DB에서 스키마 mymulti 로 선택해서 DB 만들어줍니다.
저는 path 설정을 해줘서 이렇게 cd C:\Java\mysql_zipcode로 들어가는 것입니다. 사실 dir/w도 해줘야 되는데 생략했네요
MySQL 접속방법은 두가지가 있다고 합니다
일반계정으로 접속
1)c:\mysql>bin\mysql -u board_user -p board_db //윈도우
1)cd /usr/local/mysql //리눅스
./bin/mysql -u board_user -p board_db
2)비밀번호 입력
3)mysql>
그니까 전 윈도우니까 mysql -u root -p mysql 이렇게 친겁니다...
리눅스는 생각보다 복잡하거든 여러분의 능력에 맡기겠습니다.
비번은 manager2를 쳤습니다... 처음에 설정하신 비밀번호입니다.
MySQL DB 보기
1)mysql>show databases;
사용할 DB 선택
1)mysql>use board_db
databases 는 스키마들을 의미하는것 같습니다.
mymulti 스키마를 선택하고.. 여러분이 만약 myjava로 만들었다면 use myjava 로 해주셔야합니다.
이제 DB에 넣어줄 차례입니다.
테이블안에 데이터 입력
1)mysql>insert into board_ta (number, name) values (1, 'mbk2000');
또는
1)mysql>insert into board_ta (number, name, address, wdate, wtime)
values (2, 'mbk2','kyunggi','2001-04-05', '10:20:22');
또는
1)메모장을 이용하여 mbk.txt 라는 데이터 파일을 tab으로 구분하여 만든다.
2)mbk.txt 파일을 DB와 같은 위치에 이동시킨다.
cp mbk.txt /usr/local/mysql/data/board_db/
3)load data local infile "mbk.txt" into table board_ta;
또는
1)메모장을 이용하여 mbk.txt 라는 데이터 파일을 comma(,)로 구분하여 만든다.
2)mbk.txt 파일을 DB와 같은 위치에 이동시킨다.
cp mbk.txt /usr/local/mysql/data/board_db/
3)load data local infile "mbk.txt" into table board_ta
fields terminated by ',';
저는 이것을 참고해서 이미 폴더내(디렉토리)에 들어와있기 때문에
load data local infile "zipcode_20120126.txt" into table zipcode;
이렇게 치면 query ok DB에 들어가집니다.
최대 1000개의 레코드를 반환하기 때문에 다음과 같이 이 레코드만 나오는 걸 알 수 있습니다.
실제 DB에 들어간 레코드는 51,925개라고 합니다. 어쨌든 우리나라 주소가 다음과 같습니다... 제가 이렇게 했다면 여러분도 다른 것도 할 수 있을 것 같습니다. 혹시 몰라 파일도 올려봅니다.
엑셀 파일로 저장해서 올리는 방법도 있는데 oracle에서 그렇게 했는데 일단 txt 방법도 있다는 것 참고하시면 되겠습니다.
'데이타베이스 > MySQL' 카테고리의 다른 글
MySQL root 계정 외에 생성하기 (3) | 2012.09.12 |
---|---|
MySQL 계정 비번 바꾸기 (0) | 2012.06.14 |
MySQL 설치 (0) | 2012.04.27 |
MySQL JDBC드라이버 jar파일을 jdk1.6/1.7로 이동시켜 연동시켜보자(2) (0) | 2012.04.24 |
MySQL JDBC드라이버 jar파일을 jdk1.6/1.7로 이동시켜 연동시켜보자 (1) (0) | 2012.04.24 |