プログラミング

PDOで郵便番号辞書データベース構築の記録

データベースに接続、運用するときそれぞれのデータベース独自に用意された方法で、それぞれの作法で処理をします。
使用しているデータベースが何であるかにかかわらず、同じ 関数を使用してクエリの発行やデータの取得が行えるます。
例えばにローカル開発環境で mysqlで開発していたシステムを本番環境はPostgreSQLを使用するといった場合があります。
Heroku: クラウド・アプリケーション・プラットフォームでは PostgreSQL が採用されています。

ここでは「mysql」にて郵便番号辞書をPDOを使って構築したサンプルを利用して構築したときの記録です。

PDO経由でデータベースに接続する。

// mysqlへの接続例
$dsn = ‘mysql:dbname=uriage;host=localhost’;
// PostgreSQLの接続例
$dsn = ‘pgsql:dbname=uriage host=localhost port=5432’;
// sqliteへの接続例
$dsn = ‘sqlite:[sqlite3のデータベースファイルのパス( c:\xxxx\yyyy\zzz.db )];

PDO::setAttribute — 属性を設定する
PDO::ATTR_ERRMODE: エラーレポート
PDO::ERRMODE_SILENT: エラーコードのみ設定する
PDO::ERRMODE_WARNING: E_WARNING を発生させる
PDO::ERRMODE_EXCEPTION: 例外 を投げる
PDO 定義済み定数

メニューに戻る
データベースを作成する。

phpMyAdminMySQL Workbenchでデータベースを管理する場合が多いと思いますが、今回はMacのターミナルでコマンド操作での管理といたします。
これらのツール類はまた、別の機会でご紹介することとさせていただきます

メニューに戻る
テーブルを作成する

テーブルを作成するのにPDOを利用したPHPスクリプトを作成してみようと思います。
PDOクラス概要のメソッドで実行する際の主なメソッド
(1) exec(): SQL ステートメントを実行し、作用した行数を返す
(2) query(): SQL ステートメントを実行し、結果セットを PDOStatement オブジェクトとして返す
(3) prepare(): 文を実行する準備を行います。複数回実行されるSQL
=> 結果 ステートメントオブジェクトを返す

メニューに戻る
作成したテーブルをコマンドラインで確認します。
メニューに戻る
郵便番号データのインサート

テーブルが作成できましたので次は実際のデータをインサートしていきます。
今回参照した郵便番号データダウンロードより CSV形式のデータを利用しました。
郵便番号データの説明 全国地方公共団体コード(JIS X0401、X0402)も使用しています。全国市町村コードから全国市町村コードをダウンロードしました。

参考: 
PDO::prepare
PDOStatement::bindParam

メニューに戻る
都道府県、市町村コードのインサート
メニューに戻る
コマンドラインでデータを確認してみる
メニューに戻る

最近の記事

  1. wordpres5をubuntu nginxにインストール
  2. ubuntu 20.04 nginx php mysql Webサーバー環境整備
  3. Ubuntu nginx SSL
  4. EC-CUBE 4.0 インストール
  1. wordpres5をubuntu nginxにインストール

    サーバー環境

    ubuntu20.04 nginx に wordpress5.6 を インストー…
  2. サーバー環境

    Vagrant ローカル環境構築 centos7
  3. プログラミング

    郵便番号データベースで多対多のリレーション
  4. プログラミング

    Vue.js 3をWordPress 上で動かしてみた。
  5. プログラミング

    [python] Django ローカル環境にインストール サンプルアプリケーシ…
PAGE TOP