3分で構築!SQLiteを色々な環境で動かしてみる

こんにちは、田渕です。
普段は、PostgreSQLやMySQLなどのRDBを使用して、Webシステムを制作することが多いのですが、
様々なところで目にする機会が多い、SQLiteを複数プラットフォームで動かしてみようと思います。

はじめに

複雑なデータ処理には、PostgreSQLやMySQLなどのクライアント/サーバ構成のデータベースが便利ですが、ちょこっとしたデータの保存のために、データベースを構築するのは手間がかかります。
SQLiteは、複数クライアントでデータを共有する目的ではなく、アプリケーションデータの永続化に使用する用途で使われることが多いデータベースです。
また、サイズも軽く構築も簡単なため、会社など開発環境の整った環境ではなく、家の貧弱なノートPCなどで、ちょこっとプログラムの検証したりする際に、とても便利です!

特徴

特徴は、たくさんあるのですが、ここでは紹介しきれないので。。。おおきく2つ。
SQLiteは、標準SQL規格のSQL92に多く対応しているため、普段PostgreSQLなどで開発している人は、ストレスなく使用することができます。
また、SQLiteはパブリックドメインとして提供されており、改変や再配布も自由に行えることから、広く使われています。スマートフォンのアプリにも多く内包してありますね。

セットアップ

SQLiteはこちらからダウンロードします。
http://www.sqlite.org/
Windows版、Linux版など、環境にあったものをダウンロードします。
ここでは、Windows版をダウンロードします。ダウンロードしたzipファイルを解凍して、コマンドプロンプトで解凍ディレクトリに移動します。
そして、下のコマンドを入力すれば、データベース作成完了!

今回は、データベース名に「hoge.db」を指定します。この時点では、まだデータベースファイルは作成されていません。テーブルを作成すると、ファイルが作成されます。

次に、テーブルを作成します。今回は、fruitsテーブルを作成します。

※SQLiteは、データ型を指定する必要がありません。もちろん指定することもできます。サポートしているデータ型は、NULL/INTEGER/REAL/TEXT/BLOBです。
CREATE TABLEが完了すると、ディレクトリ配下に、hoge.dbファイルが作成されていることが確認できます。SQLiteは、データベース1つにつき、1ファイルが生成されます。バックアップも楽ちんですね。
次に、データを登録します。

次に、登録したデータを確認します。

終了する場合は、.exit と入力します。

検証

次に、このデータをLinux上へ持っていきましょう。
Linux版のSQLiteをダウンロードし、zipファイルを適当な場所に解凍します。そのフォルダに、先ほどWindows上で作成したhoge.dbを配置します。データベースに接続し、データを読むことができるか確認します。
まずは、hoge.dbに接続します。

次に、データを参照します。

Windowsで登録した内容が、そのまま表示されます。異なるプラットフォームでも、問題なく動作することが確認できました。日本語を入力する場合は、文字コードを統一すれば、問題なく読み書きできます。

次に、Javaプログラムから、SQLiteのデータを読み込んでみましょう。
JavaからSQLiteへアクセスするには、おなじみのJDBCドライバーが必要となります。こちらからダウンロードし、クラスパスに設定します。
https://bitbucket.org/xerial/sqlite-jdbc/downloads

そして、SqliteSample.javaファイルを作成し、以下コードを記述します。
※ /path/to/hoge.db はお使いの環境に合わせて変更してください。

以下コマンドで、実行します。

コンソールにテーブルデータが表示されれば成功です。

このように、普段のJavaのデータ操作と同じ要領で記述できます。
さらに、Androidアプリの開発環境では、標準でSQLiteがついており、SQLiteOpenHelperが準備されてますので、データの操作がより簡単にできると思います。
各プログラム言語との親和性の高いSQLite、とても便利ですね。ぜひ、お試しください。

最後まで読んでいただき、ありがとうございました。

Comments are closed, but you can leave a trackback: Trackback URL.