MySQLのデータサンプルとして郵便番号のデータを入れる - kenjiskywalker no memo
データのダウンロード
$ wget http://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh
lzhファイルを解凍するためにはlhaコマンドが必要なの。
$ brew install lha $ lha x ken_all.lzh
Shift JISなのでUTF-8に変換するの。
$ nkf -g ken_all.csv Shift_JIS (CR) $ nkf -w --overwrite ken_all.csv $ nkf -g ken_all.csv UTF-8 (CR)
DBを作ってテーブルを作る
mysql> CREATE DATABASE yuubin CHARACTER SET utf8;
mysql> use yuubin;
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) );
mysql> LOAD DATA INFILE '/path/to/ken_all.csv' IGNORE INTO TABLE zipcode FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';
なお、DBのサイズを知るには
select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc;
[http://d.hatena.ne.jp/sho-yamasaki/20120405/1333640589:title]