データベースにはOracle、PostgreSQL、MySQL などがありますが、小規模システムやスマホのアプリケーションでよく使用されているのが「SQLite」です。このデータベースは軽量で難しい設定などが特に必要ないのが特徴です。
最近のバージョンのPHPにはSQLiteが実装されていますが、どうやって使用すればよいのでしょうか。サンプルプログラムを通じて解説していきます。
SQLiteを使用するプログラム例
PHPでSQLiteの使用するプログラムは次のとおりです。データベースへ接続し、テーブルを作成して挿入、検索を行っております。
$db = new PDO('sqlite:example.db');
$sql = "
CREATE TABLE IF NOT EXISTS MyTable (
ID INTEGER PRIMARY KEY,
Name TEXT
);
INSERT INTO MyTable (Name) VALUES ('Alice'), ('Bob');
";
$db->exec($sql);
$result = $db->query('SELECT * FROM MyTable');
foreach($result as $row) {
print_r($row);
}
実行結果:
Array
(
[ID] => 1
[Name] => Alice
)
Array
(
[ID] => 2
[Name] => Bob
)
プログラム解説
このサンプルプログラムについて解説していきます。
$db = new PDO(‘sqlite:example.db’);
この部分でPDPクラスを使用して、「example.db」というデータベースファイルに接続しています。ファイルが存在しない場合は自動的に作成されます。ファイル名の前に「sqlite:」を付けるのがポイントです。
$sql = ”
CREATE TABLE IF NOT EXISTS MyTable (
ID INTEGER PRIMARY KEY,
Name TEXT
);
INSERT INTO MyTable (Name) VALUES (‘Alice’), (‘Bob’);
“;
CREATE TABLE IF NOT EXISTS MyTable (
ID INTEGER PRIMARY KEY,
Name TEXT
);
INSERT INTO MyTable (Name) VALUES (‘Alice’), (‘Bob’);
“;
「MyTable」というテーブルを作って、そこに値を挿入するSQLを作成しています。SQL文は変数「$sql」に代入されます。
$db->exec($sql);
この部分で上で作成したSQLを実行しています。この時点でテーブル「MyTable」に値が挿入されます。
$result = $db->query(‘SELECT * FROM MyTable’);
テーブル「MyTable」を検索して、結果を変数「$result」に格納しています。
foreach($result as $row) {
print_r($row);
}
print_r($row);
}
select文の結果を表示しています。
まとめ
以上、PHPでSQLiteを使用する方法について解説してきました。データベースを使用したことのある人なら、意外と簡単にPHPで使えると思ったかも知れません。
SQLiteは著作権が放棄されており、だれでも気軽に使用できるデータベースです。小規模のシステムならXMLやCSVファイルにデータを保存するという手もありますが、データの検索や追加・更新が必要な場合はSQLiteが便利です。
コメント