phpからmysqlにデータベースをインポート

phpからmysqlにデータベースをインポートする方法です
大量のデータをINSERTする時にオススメです

サーバーはvalue-serverです

ファイル仕様
タブ区切り、改行は\n
にします。ファイル形式はcvsではなく、tvsと言います。
文字コードはもちろんutf-8。
それがデフォルトなので素直に従いましょう。
実際ダブルコーテーションでくくるよりもタブで区切るほうが1文字少ないです。
巨大なファイルになるとバカにできない差になります。

phpからのtvs生成時の例
タブ、改行は必ずダブルコーテーションでくくること。シングルコーテーションでくくるとうまく生きません。

インポートはこういう感じ

これで20万行が数秒でインポートできます。

おまけ:
上記ファイルは
ここ
からDLできます

ローカル環境で複数ドメインを使う方法

ローカル環境に複数ドメインでテストしたい場合、以下の作業を行います。

xamppを使います

example.comでxampp\htdocs\exampleに、
foo.barにアクセスするとxampp\htdocs\fooを表示したいとします。

まずはhostsファイルを書き換えます。
hostsファイルの場所はwindows7だと
C:\Windows\System32\drivers\etc\hosts
にあります。OSが変わると場所が変わる可能性があります。
hostsファイルが無い場合は作成しても構いません。
また、編集は管理者権限でないと編集できないと思います。
メモ帳等を右クリック→管理者権限で実行、で管理者権限で実行できます。

hostsファイルには以下の二行を追加します。内容はexample.comを127.0.0.1に変換、foo.barを127.0.0.2に変換といった感じです。

127.0.0.1 example.com
127.0.0.2 foo.bar

保存したら、OSを再起動します。

次にVirtualHostの設定を行います。
\xampp\apache\conf\extra\httpd-vhosts.conf
に、以下を追加してください。


DocumentRoot “C:/xampp/htdocs/example”


DocumentRoot “C:/xampp/htdocs/foo”

保存したら、apatchを再起動します。

これで
example.comでxampp\htdocs\exampleに、
foo.barにアクセスするとxampp\htdocs\fooを表示出来ると思います。

もとに戻す場合は、hostsをコメントアウトすれば良いです。
# 127.0.0.1 example.com
# 127.0.0.2 foo.bar
VirtualHostの設定はほったらかしにしても大丈夫です。

他にもvirtualhostのdocumentrootを
DocumentRoot “C:/xampp/htdocs”
とすればhtdocs直下のindex.phpなどにアクセスできたりします

また、httpd.confにListen 8080と付け足して

のようにしてポートで分ける方法もあるのですが、ポート番号をつけるのが面倒だったのでこの方法を思いつきました。