勉強したことのメモ

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, サーバー

  関連記事

エックスサーバーでMySQLのサイズに注意

エックスサーバーで自動更新のログをMySQLに保存するようなシステムを動かしてい ...

WordPressでメモリを節約しつつ高速化する設定方法

メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...

lightboxでCSPエラーが発生

CSP(コンテンツセキュリティポリシー)設定を行っているサーバーでLightbo ...

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

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

Apacheのログを見やすくする(ApacheLogViewer)

サーバのリソース監視をしていると寝ている時間にロードアベレージが跳ね上がっていた ...

SSH接続でMySQLにデータをインポートする

phpMyAdminが入っていなかったり、SQLファイルが大きかったりという理由 ...

MySQLのエラーログ取得関数

場合によってログに出力させたい値が異なる場合があったのでメモ。 function ...

URLを入力するだけでサーバーの負荷テストが出来る「loadimpact」が便利

URLを入力するだけでサーバーの負荷テストが出来る「loadimpact」が便利 ...

さくらvpsでサブドメインを割り当てた際のメモ

sshで繋いで下記設定ファイルの下のほうに追記。 /etc/httpd/conf ...

さくらVPSでLAMP環境とphpMyAdminとFTP接続環境を整える

さくらVPSでLAMP環境とphpMyAdminとFTP接続環境を整える ■環境 ...