プログラミング

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. サーバー環境

    無料のSSL証明書 Let’s Encrypt 試してみました。
  2. プログラミング

    Wordressの投稿を「FullCalendar」でカレンダー表示してみる
  3. ubuntu 20.04 nginx php mysql Webサーバー環境整備

    サーバー環境

    ubuntu 20.04 nginx php mysql Webサーバー環境…
  4. プログラミング

    CentoOS7 python3 CGI Mysqlデータベースを扱う
  5. サーバー環境

    Centos7 に PostgreSQLをインストール PDO接続を試してみる。…
PAGE TOP