Database JUNKY

MySQL,MariaDBを中心としたブログです

郵政省の郵便番号テーブルを作成してみる。(DB2)

郵政省の郵便番号テーブルの定義をDB2で作成してみます。 郵政省の郵便番号データの詳細につきましては、 http://www.post.japanpost.jp/zipcode/dl/readme.txt を参照してください。

以下に手順を説明します。

  1. IBM DB2の定義 ・下記テーブル定義を、コピーし、テキストファイルに貼り付ける connect to db2db @ CREATE TABLE COMMON.POSTAL ( PSJSX401 GRAPHIC(5) NOT NULL , PSYUBOLD VARGRAPHIC(5) NOT NULL , PSYUBNEW VARGRAPHIC(7) NOT NULL , PSTDHKKN VARGRAPHIC(10) NOT NULL , PSADR1KN VARGRAPHIC(100) NOT NULL , PSADR2KN VARGRAPHIC(100) NOT NULL , PSTDHKKJ VARGRAPHIC(30) NOT NULL , PSADR1KJ VARGRAPHIC(80) NOT NULL , PSADR2KJ VARGRAPHIC(80) NOT NULL , PSKBN001 GRAPHIC(1) NOT NULL , PSKBN002 GRAPHIC(1) NOT NULL , PSKBN003 GRAPHIC(1) NOT NULL, PSKBN004 GRAPHIC(1) NOT NULL, PSKBN005 GRAPHIC(1) NOT NULL, PSKBN006 GRAPHIC(2) NOT NULL ) IN DB2TS @ connect reset @ ・上記で生成したテキストファイルを用い、定義を作成する。シェルを実行する(インスタンスオーナアカウントで実行してください) [db2admin@shino sql]$ db2 -td@ -vf common_postal.sql connect to db2db データベース接続情報 データベース・サーバー                                   = DB2/LINUXX8664 9.7.0 SQL 許可 ID                                              = DB2ADMIN ローカル・データベース別名                               = DB2DB CREATE TABLE COMMON.POSTAL ( PSJSX401 GRAPHIC(5) NOT NULL , PSYUBOLD VARGRAPHIC(5) NOT NULL , PSYUBNEW VARGRAPHIC(7) NOT NULL , PSTDHKKN VARGRAPHIC(10) NOT NULL , PSADR1KN VARGRAPHIC(100) NOT NULL , PSADR2KN VARGRAPHIC(100) NOT NULL , PSTDHKKJ VARGRAPHIC(30) NOT NULL , PSADR1KJ VARGRAPHIC(80) NOT NULL , PSADR2KJ VARGRAPHIC(80) NOT NULL , PSKBN001 GRAPHIC(1) NOT NULL , PSKBN002 GRAPHIC(1) NOT NULL , PSKBN003 GRAPHIC(1) NOT NULL, PSKBN004 GRAPHIC(1) NOT NULL, PSKBN005 GRAPHIC(1) NOT NULL, PSKBN006 GRAPHIC(2) NOT NULL ) IN DB2TS INDEX IN DB2TS DB20000I  SQL コマンドが正常に完了しました。 connect reset DB20000I  SQL コマンドが正常に完了しました。・テーブルが作成できたか確認する。 [db2admin@db2db sql]$ db2 connect to db2db データベース接続情報 データベース・サーバー                                   = DB2/LINUXX8664 9.7.0 SQL 許可 ID                                              = DB2ADMIN ローカル・データベース別名                               = db2db [db2admin@db2db sql]$ db2 describe table common.postal データ・タイ データ・         列の       スケ 列名                            プ・スキーマ タイプ名         長さ       ール  NULL ------------------------------- --------- ------------------- ---------- ----- ------ PSJSX401                        SYSIBM    GRAPHIC                      5     0 いいえ PSYUBOLD                        SYSIBM    VARGRAPHIC                   5     0 いいえ PSYUBNEW                        SYSIBM    VARGRAPHIC                   7     0 いいえ PSTDHKKN                        SYSIBM    VARGRAPHIC                  10     0 いいえ PSADR1KN                        SYSIBM    VARGRAPHIC                 100     0 いいえ PSADR2KN                        SYSIBM    VARGRAPHIC                 100     0 いいえ PSTDHKKJ                        SYSIBM    VARGRAPHIC                  30     0 いいえ PSADR1KJ                        SYSIBM    VARGRAPHIC                  80     0 いいえ PSADR2KJ                        SYSIBM    VARGRAPHIC                  80     0 いいえ PSKBN001                        SYSIBM    GRAPHIC                      1     0 いいえ PSKBN002                        SYSIBM    GRAPHIC                      1     0 いいえ PSKBN003                        SYSIBM    GRAPHIC                      1     0 いいえ PSKBN004                        SYSIBM    GRAPHIC                      1     0 いいえ PSKBN005                        SYSIBM    GRAPHIC                      1     0 いいえ PSKBN006                        SYSIBM    GRAPHIC                      1     0 いいえ 15 レコードが選択されました。 ・データをインポートする [db2admin@db2db ~]$ db2 IMPORT FROM "KEN_ALL.CSV" OF DEL MODIFIED BY CODEPAGE=943  REPLACE INTO COMMON.POSTAL IMPORT FROM "KEN_ALL.CSV" OF DEL MODIFIED BY CODEPAGE=943 REPLACE INTO COMMON.POSTAL SQL3109N  ユーティリティーが、ファイル "KEN_ALL.CSV" から データのロードを開始しています。 SQL3110N  ユーティリティーが処理を完了しました。 "122743" 行が、入力ファイルから読み取られました。 SQL3221W  ...COMMIT WORK が開始されました。 入力レコード・カウント = "122743" SQL3222W  ...すべてのデータベース変更の COMMIT が成功しました。 SQL3149N  "122743" 行が、入力ファイルから処理されました。 "122743" 行が、正常に表に挿入されました。"0" 行が、拒否されました。 読み込まれた行数        = 122743 スキップされた行数      = 0 挿入された行数          = 122743 更新された行数          = 0 拒否された行数          = 0 コミットされた行数      = 122743 ※郵便番号データのフォーマットは、sjisのため、utf-8linux環境下でインポートする場合は、明示的にオプションを指定する必要があります。 MODIFIED BY CODEPAGE=943