SQLite とは

SQLite は,リレーショナル・データベース・マネジメントシステム(RDBMS)の一つで,2000 年にリリースされた。軽量でコンパクトな RDBMS で,単一ファイルで使用できるため,小規模なシステムやスマホアプリへの組み込み用途で幅広く使用されている。

SQLite の特徴

Python や PHP に標準搭載

SQLite は,Python や PHP に標準で搭載されている。

※Python には SQLite が sqlite3 として,標準でインストールされている。

そのため,SQLite を Python と PHP で扱うことは容易である。

SQLite はパブリックドメイン

SQLite のライセンスはパブリックドメインであり,無料で利用できる。

クライアント・サーバ型データベースではない

データベース用のサーバが不要で,単独アプリとして動作できる。そのため,データベース用のサーバの設定の手間はない。また,コンピュータのストレージ上に単一ファイル(しかも軽量)として保存できる。

SQLite の機能制約

SQLite は前述のような長所もあるが,以下のような短所もある。

同時接続に弱い

同時接続に強くないため,大規模なシステムには不向きと言われている。社内の小規模システム(10 名程度で使用)やアクセス数の少ない Web ページのデータベースとして使用する分には,特に問題はない。

SQL の複雑な処理はサポートしていない

SQLite は,SQL の複雑な処理はサポートしていない。例えば,以下の処理はサポートされていない。

  • 作成したテーブルに制約を追加できない
  • カラムを削除できず,カラム名の変更もできない
  • Left outer join だけをサポートし,Right outer join や Full outer join はサポートされていない。

SQLite の技術情報

データ型

SQLite で使用できるデータ型を次表に示す。

データ型説明
INTEGER整数
NUMERIC整数または小数
REAL小数
TEXTテキスト
BLOBバイナリーデータ(画像,動画など)を格納
表 SQLite で使用できるデータ型

Python での SQLite を使う

Python では,以下の手順で SQLite を使う。

  1. ライブラリ SQLite3 をインポートする。
  2. データベースに接続する。
  3. Cursor オブジェクトを作成する。
  4. SQL 文(検索,挿入,更新など)を実行する。
  5. (必要な場合)変更をデータベースに保存する。
  6. データベースを閉じる。

上記の手順を Python で記載すると,以下のようになる。

import sqlite3

# データベースに接続する
con = sqlite3.connect('data.db')

# Cursor オブジェクトを作成する
c = con.cursor()

sql = 'SELECT * FROM users'
for row in c.execute(sql):
    print(row)
    
# データベースを閉じる
con.close()

PHP で SQLite を使う

PHP で SQLite を使うときも,Python と同様の手順で行う。

一例として,PHP で SQLite を扱うプログラムを記載する。

$db = new SQLite3('./db/riyousya.db');
//メールアドレスをキーにユーザID,氏名,所属,職位を取得
$result = $db->query("SELECT * FROM userTable where メールアドレス = '$email'");
while ($row = $result->fetchArray()) {
	$userID=$row[0];
	$shimei=$row[1];
	$syozoku=$row[4];
	$syokui=$row[5];
}
$db->close();

DB Browser for SQLite

SQLite のデータベースを作成・閲覧・編集するためのソフトウェアとして DB Browser for SQLite が便利である。

参考文献

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です