「 SQL 」一覧

LOAD DATA LOCAL INFILE ~ REPLACE

MySQLでCSVデータを一括登録するのにLOAD DATA LOCAL INFILE文を使っていたが、同じキーを持つレコードでCSVの方を修正してもデータベースに反映されなかった。 続きを読む

LOAD DATA INFILE

今までMySQLにデータを突っ込むのにINSERT文を使っていた。
CSVからデータを読み込んで、フィールド毎に分割して、INSERT。

ところが、LOAD DATA INFILEという構文を使えばデータファイルから一括入力ができるらしい。

これを使えば、次のような流れができる。

・ローカルでデータファイルを作成
・データファイルを圧縮
・圧縮データファイルをFTPで転送
・HTTPでCGIを呼ぶ
・CGIがデータファイルを展開
・CGIがデータファイルをデータベースへ入力

データ入力の手間がかなり軽減される。

本当は、データ作成すらサーバ側で行いたいところ。
実際やってみると、サーバの負荷が大きいのでレンタルサーバでは気がひける。
なので、ローカルでデータを作ってどうやってサーバへ転送するのがいいか、考えていたのだった。
いいことを知った。

MySQLをインストール

 MySQLをローカルPCにインストールすることにした。

 ローカルの便利ツールはほとんどPerlかExcel+VBAで書いてあるので、もうExcelを引退させてPerl+MySQLへ移行しようかと検討中。

 ExcelとMySQLはもちろんそれぞれ用途が違うものなので、Excelでデータを管理するということに若干無理があったのかもしれない。でも世間一般はほとんどそうだ。だから会社のアレもコレも再利用できないデータがたまっていくのだ。もっともっとデータベースを使おう。

 まずはMySQLをダウンロード。

 どうやら、今日時点では「MySQL Community Edition」の「5.0が推奨らしい。

 で、Windowsなので「Windows (x86)」を選択。そしてダウンロード。

 インストールはTypicalで問題なさそう。そしてほどなくして終了。

 「MySQL Server Instance Configuration Wizard」でちょこちょこっと設定をいじる。

 早速テーブルなどつくってみる。わりとカンタン。

 あとは、PerlからアクセスできるようにしていけばOK。

 って、そこがむずかしそうな気も・・・