Database JUNKY

MySQL,MariaDBを中心としたブログです

郵便番号データを自動的に反映させるshell

郵便番号データを、自動的にダウンロードしてテーブルに反映することができないかと考えこんなシェルを 作ってみました。

まず、sqlファイル

post_data_import.sql

truncate table common.postal; SET client_encoding TO 'SJIS'; COPY COMMON.POSTAL FROM '/var/lib/pgsql/app/shell/ken_all.csv' WITH CSV;

postaldata_import.sh

#!/bin/csh ################################################## # postal data import shell ################################################## set WKDIR=/var/lib/pgsql/app/shell set SQLDIR=/var/lib/pgsql/app/sql # download postal data rm -f ${WKDIR}/ken_all.csv rm -f ${WKDIR}/ken_all.lzh wget http://www.post.japanpost.jp/zipcode/dl/oogaki/lzh/ken_all.lzh lha -x ${WKDIR}/ken_all.lzh # import postal data psql -d no1 -U postgres -f ${SQLDIR}/post_data_import.sql

・郵便番号データは、lzh圧縮なので、linuxで行う場合は、lhaが必要です。 ・郵便番号テーブルの定義は、以下のものを利用しました。 http://nakayama.ddo.jp/wordpress/?p=200