IPアドレス・ネットマスクの変換・チェック・統合・除外を簡単に。

Google or AdMax Promotion (ipvtop)

データインポートSQL実行文(load data LOCAL infile)・法人の基本3情報のデータ(法人番号)

テーブルの作成とCSVデータのダウンロードが済んでしまえば、
後はCSVをデータベースにインポートするだけで作業は完了です。
ここでは「load data LOCAL infile」を利用して、
実際に「法人の基本3情報のデータ(法人番号)」を取り込みます。

load data LOCAL infile データインポート実行文

プロモーション

Google or AdMax Promotion (ipvpos)

以下PHPにてCSVデータをレンタルサーバー上へアップロードして実際にインポートを行っています。
「hogehoge.php」などで作成しWebアクセスして実行すればインポートできます。

※最初の6行目までは各自のサーバー環境に合せて変更ください。
※「gov_nta_corpnum_{$enc}」にて末尾にエンコードが付与されたテーブル名としています。
これは、以下で作成するSQLのテーブル名に合せています。

※既にレコードがある場合は挿入に失敗しますので、適宜削除後の再実行をお願いします。
末尾のechoは確認終了後、コメントアウトでもしてください。

※エンコード指定は9行目で行っています。

 

それぞれのエンコードで取り込んだ実ファイルは以下になります。

sjis、cp932:Index of /dev/ntagojp_sjis

Unicode:Index of /dev/ntagojp_unicode

 

インポート実行後の表示

作成したphpファイルにWebでアクセスすればそのままインポートが実行され、
正しく実行できたかの参考情報を表示しています。

インポート後にWeb画面にechoにて出力した内容(一部改変)は以下のように表示されます。

実際に定時に自動実行しデータ鮮度を確保する場合などはcronなどを利用される事でしょう。
その場合、$_SERVER['DOCUMENT_ROOT']は利用できませんので、
適宜、サーバー環境に合せた値に書き換えをお願いします。

sjis

「インポート終了」の文字はPHPのデフォルトエンコードUTF-8による出力に対して、
MySQLに格納されている「北海道」文字は「Shift-jis」出力の為、
どちらかが化けます。

 

cp932

「インポート終了」の文字はPHPのデフォルトエンコードUTF-8による出力に対して、
MySQLに格納されている「北海道」文字は「cp932」出力の為、
どちらかが化けます。

 

utf8mb4

「インポート終了」の文字はPHPのデフォルトエンコードUTF-8による出力に対して、
MySQLに格納されている「北海道」文字は「utf8mb4」出力の為、双方表示がそのままで可能

 

特にエラーなく実行が行えれば、インポート処理は終了です。

ブラウザ表示上の文字化けは、エンコード変更で対応(確認)

それぞれのウィンドウの表示は以下のようになっています。
sjisとcp932はブラウザ表示上は、法人名が文字化けしています。

load-data-local-infile_st03

PHPによる取込結果・「load data LOCAL infile」を利用したCSV取込

 

上記はChromeで表示の確認を行っていますが、
機能拡張をインストールすることで、一時的にエンコードを変更する事ができます。

テキストエンコーディング – Chrome ウェブストア

テキストエンコーディング機能拡張ではブラウザの表示エリア内で右クリックして、
表示されるプルダウンメニューからエンコードの選択ができます。

load-data-local-infile_st04

ブラウザの文字コード変更・「load data LOCAL infile」を利用したCSV取込

 

試しにShift-JISに変更を行うと、法人名は正しく表示できていることが分かります。
代わりにPHPメッセージがUTF-8なので化けますけども。
これでデータの格納は正常なことは確認が行えます。

load-data-local-infile_st05

データの格納は正常・「load data LOCAL infile」を利用したCSV取込

 

データのインポートが行えたら、PHPからデータを取得して、
Web表示が行えるかの確認を行います。

外字を中心に・・・。

 

そもそも「load data LOCAL infile」の「LOCAL」って何?

今回、レンタルサーバー上にCSVファイルをアップロードして、
レンタルサーバー上のPHPファイルをWebブラウザで表示して、インポートを実行しました。

「load data LOCAL infile…」というSQLを発行してインポートしていますが、
この場合、そもそもLOCALって何?という疑問はあるかもしれません。

その点については以下でご紹介してます。

 

参考

当初、以下を参考にさせて頂いて、このアプローチを試し始めました。
タイトルに「[xserver]」と入っているので、
実際にXSERVERへの取り込みを行ったのかと思って期待しましたが、
ローカル(C:\…)ではXSERVERは無理なはずなので、ちょっと惜しかった。

とにかく、いい「気づき」を与えてくださいました。

[xserver][MySQL]csvファイルからのデータのインポート: PHPを使ったWebサイト構築 備忘録

ちゃんとやりきったよ!サンクス!

 


AdMax Promotion

公開日:

QRコードからもこのURLを開けます。
リンク先URL: http://ipvx.info/everyones-db/corp_code-nta/load-data-local-infile-import/


AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)