郵政省の郵便番号テーブルを作成してみる。(DB2)
郵政省の郵便番号テーブルの定義をDB2で作成してみます。 郵政省の郵便番号データの詳細につきましては、 http://www.post.japanpost.jp/zipcode/dl/readme.txt を参照してください。
以下に手順を説明します。
- 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-8のlinux環境下でインポートする場合は、明示的にオプションを指定する必要があります。 MODIFIED BY CODEPAGE=943