「基本3情報」データのMySQLインポート(国税庁法人番号公表サイトデータ)
登記された法人名に対して付与される法人コードは、国税庁のサイトで検索する事ができ、
またWebAPIも公開されている為、誰でもすぐに調べることができます。
都度、法人コードから法人名などを取得する場合にはAPIで十分だと思いますが、
場合によっては自データベースに格納して参照したい場合もあるかもしれません。
ここでは「法人の基本3情報のデータ(法人番号)」のインポート等についてご紹介します。
本記事はデータそのものを提供する趣旨ではありません。
400万レコードを超えるデータですので、各自が取り込むコツをご紹介するものです。
そもそも公式WebAPIがありますので、
事情がない限りは自分でインポートする必要もないはずです。
目次
「基本3情報」データのMySQLインポート・国税庁法人番号公表サイト
2018/7/8に国税庁法人番号公表サイトでダウンロードができたCSVデータを元にして、
データベースへ全データをインポートして集計した結果が以下のようになりました。
レコード合計が「4,633,737」レコードです。
463万レコードですので、結構なデータ数です。
レンタルサーバーのDBに取り込むのは、
さすがにエラーになっちゃうんでしょ?ってレベルですが、大丈夫取り込めます。
※容量などサーバーの仕様・制限が満たす必要はあり。SSHは不要。(XSERVERで実績)
都道府県 コード |
都道府県名 | レコード数 |
---|---|---|
1 | 北海道 | 196,509 |
2 | 青森県 | 33,995 |
3 | 岩手県 | 29,864 |
4 | 宮城県 | 69,515 |
5 | 秋田県 | 27,277 |
6 | 山形県 | 30,212 |
7 | 福島県 | 64,659 |
8 | 茨城県 | 79,197 |
9 | 栃木県 | 65,254 |
10 | 群馬県 | 66,004 |
11 | 埼玉県 | 213,975 |
12 | 千葉県 | 185,778 |
13 | 東京都 | 1,018,714 |
14 | 神奈川県 | 298,632 |
15 | 新潟県 | 67,548 |
16 | 富山県 | 31,549 |
17 | 石川県 | 37,859 |
18 | 福井県 | 27,033 |
19 | 山梨県 | 30,169 |
20 | 長野県 | 69,611 |
21 | 岐阜県 | 62,295 |
22 | 静岡県 | 108,111 |
23 | 愛知県 | 229,350 |
24 | 三重県 | 47,247 |
25 | 滋賀県 | 35,566 |
26 | 京都府 | 91,303 |
27 | 大阪府 | 371,088 |
28 | 兵庫県 | 165,137 |
29 | 奈良県 | 33,273 |
30 | 和歌山県 | 26,597 |
31 | 鳥取県 | 17,467 |
32 | 島根県 | 20,307 |
33 | 岡山県 | 62,558 |
34 | 広島県 | 96,330 |
35 | 山口県 | 37,179 |
36 | 徳島県 | 27,174 |
37 | 香川県 | 34,205 |
38 | 愛媛県 | 45,791 |
39 | 高知県 | 22,783 |
40 | 福岡県 | 168,779 |
41 | 佐賀県 | 20,849 |
42 | 長崎県 | 36,571 |
43 | 熊本県 | 59,243 |
44 | 大分県 | 40,938 |
45 | 宮崎県 | 33,073 |
46 | 鹿児島県 | 50,034 |
47 | 沖縄県 | 46,472 |
なし | 海外 | 663 |
合計 | 4,633,737 |
※2018/6/29付けデータを元に算出。将来的に自動更新予定。
正直なところ、様々な制約のあるレンタルサーバーのデータベースに対して、
CSV又はXMLによって提供されるデータをこのレコード数突っ込むのは苦労しました。
普通はあまりやらないと思います。
が、これ。
「できるけど、やらない」というのと「そもそも、できない」ではやはり雲泥の違いがあると思います。
SSHが利用できないようなレンタルサーバーでphpMyAdminのインポート機能などに頼らず、
1県程度のデータ数なら瞬殺でインポートできる、非常に強力なアプローチなのです。
400万レコード突っ込んだという経験はサイト運営のバックアップ・リストアなどにおいても、
引き出しの一つとして、きっと役に立つスキルではあると思います。(mysqldump使えとか)
国税庁「法人の基本3情報のデータ(法人番号)」の提供形式の選択とダウンロード
国税庁「法人の基本3情報のデータ(法人番号)」データは、
以下に書かれている通り、Shift-JISエンコード、Unicodeエンコードによるデータが公開されています。
それぞれ自分の環境にあったものを選択するといいでしょう。
ファイル形式・文字コード
ファイル形式は、CSV及びXML形式の2種類、文字コードは「Shift-JIS(JIS第一・第二水準)」と「Unicode(JIS第一~第四水準)」の2種類に対応しています。
ファイル形式との組合せで「CSV・Shift-JIS」、「CSV・Unicode」及び「XML・Unicode」の3種類のファイルを用意しています。
CSV形式・Unicodeの選択
ダウンロードとするファイルは、今回Unicode形式のCSVを選択しましたが、
Shift-JISとUnicode双方の取り込みの流れでご紹介していきます。
以下のページからダウンロードできます。
(データ元)全件データのダウンロード(各都道府県別)|国税庁法人番号公表サイト
いつもこういうマスタ系の公開データを頂くときに思うのですが、
「二次利用させたくない」という思惑が垣間見えてきます。
公開しているのに、どうしてこういう仕様になるのかなぁ・・・という。
個々のファイルのURLは公開されておらず、
Web画面からクリックすることによるJavaScript経由でダウンロードが開始されます。
要は、cURLやftpなどで定期的にデータを取得して、
自前のデータベースの更新処理を定期実行するといった方法を取りづらくしてくれています。
取り込んだはいいけど、これ、その後毎日手でダウンロードして更新するの?
ITは便利と言われますが、私は全然便利だと思わない。
誰かの為になにかを公開するにしても、簡単に二次利用できる方法は提供しない。
苦労して苦労して、使えるようにできるなら、すれば?みたいな意地悪さを常に感じるのです。
まぁ、受注した業者の御意向もあるでしょうけども・・・。
全件データ一括の場合は、メディアによる受け取りが必要となるので、
やむを得ずですが、全都道府県のデータをポチポチとダウンロードします。(今後自動化はする)
ダウンロードデータの取り込み先準備(テーブル作成)
ダウンロードしたファイルは、一旦はローカル(PC上)に保存しますが、
ローカルで取り込み確認ができたら、
レンタルサーバー上のディレクトリへFTPでアップロードし、
レンタルサーバー上のMySQLへインポートします。
その準備段階として、MySQLに対してテーブル作成を行います。
以下で紹介しているSQLを実行して、サクッとテーブルを作成します。
CSVデータの取り込み
今回47都道府県(+海外1)に分割されたデータを、1テーブルに突っ込むという想定です。
例えば、最初のファイル北海道で、196,419レコード。
一番ファイルサイズの大きな東京都で、1,014,062レコードです。
そして、全データを取り込むと460万レコードに達します。
これは、MySQLWorkBenchでテーブルに対して1つのCSVを指定してインポートしても、
おそらく北海道のデータレベルで、応答が無くなってしまう事でしょう。(実際応答なし)
それではレンタルサーバー上のデータベースに格納するなど夢のまた夢という事になります。
そこで今回はファイルを事前にFTP経由でアップロードしておき、
ファイルを指定して読み込みを行っていきます。
データ取込後の外字表示確認
データのインポートが行えたら、
インポート後のデータが正しく取り込めて、外字の表示が行えているかを確認します。
外字の影響を受ける法人名、所在地に関する情報
上記でも確認に利用していますが、
上記では手始めに「北海道」の抽出でテストを行っていた際のものです。
最終的には全国データを取り込んで、その表示を確認する事になるはずです。
その際には、以下でご紹介している法人コードでSQL抽出を行うと、
外字の表示確認が楽になるかもしれません。
インポートがうまくいかない時のポイントについて
正直、サクッとインポートができたなら、そもそも記事にしていないです。
ここのサイトは「IPアドレス」のサイトですし、
MySQLでも、国税庁も法人コードも全く絡みのないサイトなのです。
それでも、やっぱり記事にしておこうかなと思ったのは、やはり苦戦したから。
コピペでそのまま読んでくれた方がうまくいけばいいんですが、
おそらくは、環境によってそのままではうまくいかなかったり、
それぞれにご苦労はおありだと思います。
最後に、自分が気づくまでに時間がかかってしまった点などを以下でご紹介しています。
本サイトで公開しているツールについては、
十分にテストは行っておりますが個人で作成している為、
潜在的なバグがないとは言い切れません。
その為、ツールを用いた結果については十分検証の上ご利用ください。
当サイトおよび、管理人は如何なる損害もその責を負いません。
当サイト内のコンテンツおよび画像において、
出典・引用の外部著作権者の明記がないものは、
すべて管理人による著作物です。
当サイトでご紹介しておりますコンテンツの著作権の放棄は致しません。
サイト内コンテンツを引用される際にはご連絡は不要です。
ただし、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
公開日:
最終更新日:2019/06/20