勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

コマンドでMySQLに郵便番号データを入れる

      2014/05/17

練習としてコマンドから郵便番号データを入れた際のメモ。

---------

1:郵便番号データが入っているcsvを取得する

wget http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh

とコマンドを打つとダウンロードしてくれる。
ken_all.lzhというファイルがダウンロードされるけど、
解凍するのにlhaというコマンドがいるみたい。
ただ、入っていなかったのでインストールした。

wget http://iij.dl.sourceforge.jp/lha/22231/lha-1.14i-ac20050924p1.tar.gz
tar zxvf lha-1.14i-ac20050924p1.tar.gz
cd lha-1.14i-ac20050924p1
./configure && make && make install

でインストールできた。

---------

2:文字コードをshiftjs -> utf8へ変換

変換する際にnfkというコマンドを使うらしいが
これまた入っていなかった。

yum -y install nkf

でインストールできた。

nkf -w --overwrite ken_all.csv

文字コード変換。

---------

3:テーブルの作成。

mysqlに入って、

CREATE TABLE 適当なデータベース名.zipcode (
PublicCode char(5) NOT NULL,
OldZipCode char(5) NOT NULL,
ZipCode char(7) NOT NULL,
PrefectureKana varchar(10),
CityKana varchar(100),
TownKana varchar(100),
Prefecture varchar(10),
City varchar(200),
Town varchar(200),
TownDivideFlg tinyint(1),
KoazaBanchiFlg tinyint(1),
TyoumeFlg tinyint(1),
HasSomeTownFlg tinyint(1),
UpdateState tinyint(1),
UpdateReson tinyint(1),
PRIMARY KEY (ZipCode)
);

でテーブル作成。

---------

4:csvファイルをインポート

LOAD DATA INFILE './ken_all.csv' IGNORE INTO TABLE zipcode FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';

を入力するも、

ERROR 13 (HY000): Can't get stat of '/hoge/huga/ken_all.csv' (Errcode: 13)

みたいなエラーが出た。
tmpフォルダ移してから再度試すと大丈夫だった。

---------

■参考サイト
http://d.hatena.ne.jp/kenjiskywalker/20120722/1342957297
http://blog.livedoor.jp/kotani08/archives/50442332.html

phpmyadminと違ってむっちゃ面倒くさかった。

 - MySQL, サーバー

  関連記事

htmlファイル内でPHPを動かす(AddHandler)

サイトを引き継ぐことがあり、ソースを確認していると拡張子はhtmlなのにPHPの ...

Sysstat Graphical Viewerにロードアベレージを追加

sysstatの各種情報をグラフ表示するSysstat Graphical Vi ...

iptablesが動いているか確認する

iptablesが動いているか確認する方法が分からなかったのでメモ。 servi ...

phpMyAdminにIP制限をかける

phpmyadminにIP制限をかけたかった。 sshでログインし、rootへ変 ...

apacheで特定期間(日時)のログを抽出する

apacheのaccess_logとerror_logで特定日時内のログのみを確 ...

MySQLでホスト指定しても正常に接続できない場合

MySQL自体は動いており、ユーザーも登録されているのに、ホスト名を指定しても正 ...

pearのインストール状況を確認

pearがインストールされているのかどうか調べたかった。 pear versio ...

cronの設定方法

cronを設定してみたので方法をメモ。 まずcronで動かすPHPを作成。 ■c ...

apacheでキャッシュ設定を行う

apacheでキャッシュを設定できると聞いたので 対応した内容のメモ。 mod_ ...

PHPからMySQLにシリアライズしたデータを格納

アンケートフォームみたいなのがあって、 今後も定期開催し、尚且つ質問内容は増減す ...