menu

SQLiteをつかってみよう

TIPS

自分でWebアプリケーションを作ってみたい…。そう思ったことはありませんか?いろいろなサービスがAPIを公開していて、アイディア次第では新しいサービスを生み出すこともできる時代。必要とされるのはプログラミング技術とデータベースの知識です。Webアプリケーションをつくるときの定番データベースといえば…MySQLでしょうね。それでは、MySQLより簡単なSQLiteをご存知ですか?今回は、だれでも簡単に使えるSQLiteについて説明します。

SQLiteとは?

SQLiteは、2000年8月に開発がスタートした軽量リレーショナルデータベースシステムです。著作権が放棄されたパブリックドメインとして公開されており、だれでも趣味や仕事にSQLiteを使うことができます。MySQLなどと異なり、サーバーとして動作することはなく、その実体は一つのバイナリ—ファイルで、プログラムからAPIを直接呼び出してアプリケーションに組み込んで利用します。まるでライブラリ関数を呼び出すように、気軽に使える、それがSQLiteです。

SQLiteが活躍している場所とは?
MySQLほど、なじみがないSQLiteですが、実際はそうでもありません。スクリプト言語として人気のあるPHPにはバージョン5からSQLiteをバンドルされていますし、RubyやPerlでも標準採用。FireFoxやThunderbirdといったアプリケーションソフト内部データベースとしてもSQLiteが使用されています。iPhoneやAndoridアプリでも簡単にデータをSQL処理できる仕組みとしてSQLiteが標準サポートされているのです。

SQLiteの利点
SQLiteのメリットはなんといってもその軽さ・スピードです。いわばひとつの「ライブラリ」として動作するSQLiteは、データベース操作にプロトコルやプロセス間通信を使うことなく単純にAPI呼び出しで処理を行います。これが高速に動作する理由です。また、限りなく緩やかな制約もSQLiteの魅力の一つです。一般的なデータベースではテーブル一つ作るにもそのデータ型やバイト長をカラムごとに指定する必要がありました。SQLiteでは、データ型を全く指定しないでもテーブルを簡単に作成することができます。

CREATE TABLE a(name,value)

たったこれだけで、nameとvalueというカラムを持つaという名前のテーブルの作成が完了します。また、「単一ファイル」であることから、バックアップも簡単。「ファイルをコピーするだけ」でいいのです。簡単でしょう?

SQLiteの弱点?
「サーバー型でないリレーショナルデータベースなんて信じられない」そうお思いかもしれません。「ファイルサイズはどれくらいまで耐えれるの?」「INSERTが遅いとうわさで聞いた」「トリガーとか使えるの?」さまざまな疑問点が湧いてくることでしょう。ご安心ください。すべてOKです。

ファイルサイズはどれくらいまで耐えれるの?
SQLiteは単一のファイルなので、その大きさはファイルシステムに制限されます。たとえばWin32であれば、その最大サイズは2ギガバイトです。最新の64ビットLinuxバージョンでのファイルサイズ制限は140テラバイト。通常の使用では十分すぎますね。

INSERTが遅いとうわさで聞いた
少し古いデータですが、
http://d.hatena.ne.jp/cypher256/20121013/p1
にデータベースのパフォーマンス比較があります。1万件のデータINSERT(挿入)も、SQLiteが断然高速です。(かつて、「INSERTが遅い」といううわさが流れたのは、データのコミットを1件ずつ行った場合のようです)

トリガーとか使えるの?
あるテーブルに操作が行われた時、自動的に定型処理を行うトリガー、便利ですよね。SQLiteでも、ちゃんとトリガーに対応しています。たとえば、商品テーブルのデータが削除されたとき、削除アクションをログに残す例は次の通り。

CREATE TRIGGER mytrigger DELETE ON Shohin
BEGIN
INSERT INTO Log(action) VALUES(‘delete data’)
END;

トリガーに限らず、基本的なSQLは全てつかえます(SQL92準拠)。「軽量なのに仕事に使える!」これもSQLiteのメリットの一つです。

さあ、SQLiteを使ってみよう
格安レンタルサーバーでも(MySQLが使えなくても)、SQLiteなら使える、ということがあります。「なにかアプリケーションをつくってみたいけど、データベースの操作がよくわからない…」と考えている方にはぴったりです。大丈夫。最初は何億件ものデータ、扱わないでしょう? あなたのアイディアがホットなうちに、データベースはSQLiteでサクッと済ませて、それをカタチにしてみませんか?

【参考サイト】

SQLite公式サイト

SQLiteへの接続(PHP入門)

データベース入門(PerlでSQLite)

小野 良勝 代表取締役

投稿一覧

横浜の制作会社アイティネットの代表取締役。WEB、モバイル、DTP、デジタルサイネージを事業展開。それぞれの特性を活かした メディアミックスを得意とする。iPhoneやiPadを活用したBtoB向けのアプリケーションを開発。モチベーションの高い人や異業種との交流がたまらない。華の47年組。趣味はオートキャンプ

ID、パスワードにおける怖い話

WordPressにおいてベストなパーマリンクとは?

関連記事

  1. 疑問解消!!ホームページリニューアルにまつわる7つのQ&…

    ホームページリニューアルは通常のホームページ制作と異なる点が多いので、「○○ってどうなるんだろう?」…

  2. WEB高速化(導入しやすい順)

    WEBサイトを閲覧するとき「もたつき」があると、がっかりしませんか?なにか情報を探しているときは、す…

  3. ホームページリニューアル実現のための企画書&プレゼンのコツ

    企画担当者の中には「ホームページをリニューアルしたいけど企画案が通るか心配…」と、考え込んでしまって…

  4. ブログのネタがないという「言い訳」まだ言いますか?

    ブログのネタがないという「言い訳」まだ言いますか?継続して成功しているWEB担当者さん達がコンテンツ…

  5. 検索エンジンをロボットと思ってはいけません

    SEOに「やっぱり」欠かせない被リンクの構築は、「やっぱり」メリットがあります。あちこちの記事に書か…

  6. 【Webサイトリニューアル】クライアントへのヒアリング項目まとめ…

    Web制作において、新規制作であろうがリニューアルであろうが制作初期に行う最も重要なプロセスといえば…

  7. 販促支援の大きな柱!?コンテンツマーケティングのはじめ方

    現代では、パソコンを中心に考えるマーケティングに加えて、スマートフォンやタブレットといったモバイル利…

  8. ホームページリニューアルでレスポンシブデザインを採用するメリット…

    流行やスマートフォンの普及が後押ししていることもあり、ホームページリニューアルに向けレスポンシブデザ…

PICKUP

PAGE TOP