郵便番号データをCSVからMySQLへImport
日本全国の郵便番号をDatabaseに取り込んだときのMemo.
環境: CentOS 5.8, MySQL 5.5.24
郵便番号のデータはCSV形式で郵政省のOfficial SiteからDownload出来る。データ形式を参考に。
参考にしたSite.
DownloadしたCSVはEditorで開いてUTF8に変換してもいいし、Command Lineでも簡単に出来る。
# iconv -f=sjis -t=utf8 KEN_ALL.CSV > ken_all_utf8.csv
phpMyAdminから次のSQLを実行して、保存用のTableをMySQL上に作成。
CREATE TABLE zip_code (
jis varchar(10) NULL,
zip_old varchar(5) NULL,
zip varchar(7) NULL,
addr1_kana varchar(100) NULL,
addr2_kana varchar(100) NULL,
addr3_kana varchar(100) NULL,
addr1 varchar(100) NULL,
addr2 varchar(100) NULL,
addr3 varchar(100) NULL,
c1 int NULL,
c2 int NULL,
c3 int NULL,
c4 int NULL,
c5 int NULL,
c6 int NULL
);
MySQLのConsoleにLoginして、ImportするCommandを実行。
# mysql -p -u root
> use `database-name`;
> LOAD DATA INFILE '/tmp/ken_all_utf8.csv'
> INTO TABLE `zip_code`
> FIELDS TERMINATED BY ',' ENCLOSED BY '"';
郵便番号の保守が嫌ならAPIを使うのも手。
< Related Posts >