PHP で SQLite を使う

CSVなどのデータでも強力な検索機能を使用したいことがあります。
データ量が少ない場合は、Excel を使って VLOOKUP 関数や INDEX 関数、MATCH 関数を駆使することで乗り切れる場合もありますが、 万~数十万オーダのデータになるとなかなか厳しくなってくるかと思います。

そんなときに便利なのが SQLite です。 SQLite はデータベースが1ファイルととても軽量であり、PHP であれば 5.3 以降はデフォルトで使用できます。 軽量であるにも関わらず、SQL も必要そうなものはすべて使用可能です。WITH句だって使用できます。
数十万件くらいのデータならなんなく扱えます。

PHP での基本的な使い方は以下の通りです。

// $filename にはデータベースファイル名を指定する
$sqlite = new SQLite3($filename);

// $queryにはSQL文を指定する
// プリペアに失敗した場合は false が返る
$pstmt = $sqlite->prepare('SELECT id, name FROM some_table WHERE id=:id');

// パラメタに値をセットする
$pstmt->bindValue('id', 4);

// 実行!
$result = $pstmt->execute();

while ($record = $result->fetchArray(SQLITE3_ASSOC)) {
    // $record['name'] のようにカラム名を指定してデータを取る
}


もちろん、上のコード以外にもたくさんの機能、オプションがあります。公式のドキュメントを参照しましょう。



さて、ゴールデンウィークも後半、いかがおすごしでしょうか。
今日はみどりの日、こういった仕事をしていますとなかなか自然にふれる機会が少ないと思います。
たまには大自然にふれ、リフレッシュしてみてはいかがでしょうか。