コマンドでMySQLに郵便番号データを入れる
練習としてコマンドから郵便番号データを入れた際のメモ。
---------
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というコマンドを使うらしいが
これまた入っていなかった。
でインストールできた。
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と違ってむっちゃ面倒くさかった。
関連記事
-
-
WordPress Popular Postsのサムネイルが表示されない
WordPressの人気記事を表示させるWordPress Popular Po ...
-
-
MySQLで全角半角を区別せずに検索する方法(collate utf8_unicode_ci)
あるシステムでMySQLの検索時に「WHERE test_column coll ...
-
-
海外IPの制限
海外IPの制限を行ったので手順のメモ。 まず「サーバー立てたらすぐ攻撃が来る」と ...
-
-
glibcライブラリの脆弱性とアップデート方法
レンタルしているサーバのアナウンスで「glibcライブラリの脆弱性」云々というの ...
-
-
MySQLiで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...
-
-
ムームーDNSでエックスサーバを使う
ムームードメインでドメインを取得し、エックスサーバで使う場合にエックスサーバ側の ...
-
-
さくらvpsでパッケージのアンインストール
yumでインストールしたパッケージをアンインストール したかったけど、やり方が分 ...
-
-
cronの時間設定部分が全てアスタリスク
サイトを引き継ぐことがあり、そのサーバの設定資料を確認するとcronの設定で日時 ...
-
-
エックスサーバーでMySQLのサイズに注意
エックスサーバーで自動更新のログをMySQLに保存するようなシステムを動かしてい ...
-
-
プロキシサーバの接続ログを確認する方法
だいぶ前にVPSにプロキシサーバ(squid)を導入した。接続IPは指定している ...
- PREV
- ファイル移動のコマンド(mv)
- NEXT
- memcached関連