2015年7月14日火曜日

郵便番号情報のデータベース化

郵便番号のデータベース化を行います。

1.郵便番号データ
http://www.post.japanpost.jp/zipcode/dl/roman-zip.html
ダウンロードして開くと
"0640941","北海道","札幌市 中央区","旭ケ丘","HOKKAIDO","SAPPORO SHI CHUO KU","ASAHIGAOKA"
このようなデータ形式になっています。

2.保管用データベース作成
CREATE TABLE IF NOT EXISTS `postalcodes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(7) NOT NULL,
  `ken` varchar(255) NOT NULL,
  `city` varchar(255) NOT NULL,
  `address` varchar(255) NOT NULL,
  `kenread` varchar(255) NOT NULL,
  `cityread` varchar(255) NOT NULL,
  `addressread` varchar(255) NOT NULL,
  `created` datetime DEFAULT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

3.サーバ側でアップロードできるファイル容量を増やしておく。
今回ダウンロードしたファイルは12.4MBありました。
今回はphpMyAdminでCSVアップロードで済ませてしまおうと思います。
phpMyAdminのデフォルトだと2MB位なので、増やしておきます。

# vi /etc/php.ini

memory_limit = 128M

;post_max_size = 8M

post_max_size = 32M
;upload_max_filesize = 2M

upload_max_filesize = 32M




4.データのアップロード
今回はphpMyAdminを利用して、CSVデータをテーブルに格納します。
phpMyAdmin->データベース選択->テーブル(postalcodes)選択->インポート
今回のCSVを選択します。
フォーマットがCSVになっていることを確認し、カラム名に
code,ken,city,address,kenread,cityread,addressreadを書いておきます。
実行ボタンを押すとアップロードが開始されます。

今回の環境では2分程度かかりました。

参考サイト
http://rensabanet.com/wordpress-tips/tukai/11733/

0 件のコメント:

コメントを投稿