今すぐSQLite入門。知っておくべきたった5つのこと。

SQLite (エス・キュー・ライト) は、サーバー不要のお手軽データベース。

特徴

  • データの保存に単一のファイルのみを使用する
  • 中小規模ならば速度に遜色はない
  • ファイルを使わないインメモリ・データベースとしても利用可能
  • データ型を指定する必要がない
    • サポートしている型は、Null / Integer / Real / Text / BLOG のみ
  • Unicodeサポート

その他の特徴として、コメントは、SQLコメント(--から行末まで)に加えてC言語スタイル(/* から */ 複数行)が使用可能。

1. インストールは超簡単

Red Hat系のCentOSなどならば、yumコマンドで一発。

$ sudo yum install sqlite

(sudoよく分からないって人はrootユーザになって実行)

sqlite3-rubyなどライブラリのインストールにはsqlite-develも必要となるので、インストールしておく。

$ sudo yum install sqlite-devel

RHEL5、CentOS5 ならばバージョンは 3.3.6-5 がインストールされる。(2011年4月1日現在)

2. 起動/終了は不要

サーバー型ではないので、サーバープロセスの起動といった煩雑な手順は不要。
インストールが終わったら今すぐに使える!
sqlite3コマンドで接続して、.quit.exit切断

$ sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> .help
.databases             List names and files of attached databases
(略)
.exit                  Exit this program
(略)
.quit                  Exit this program
(略)
sqlite> .quit

3. ユーザの作成/削除/パスワード変更は不要

SQLiteにはユーザという概念がない。パスワードという概念もない。
だから、ユーザもパスワードもなくてもお手軽に利用できるというメリットがある。
反面、セキュリティ上のリスクというデメリットがあることも覚えておこう。

4. データベースの作成/削除

これも簡単。特別にデータベースを作成するというコマンドはない。
作成したいデータベース名を指定してsqlite3コマンドを実行するだけでよい。

$ sqlite3 otameshidb.sqlite3

「otameshidb.sqlite3」がデータベース名(長いね...)。データベースが既に存在すれば接続し、存在しなければ新規作成する。

データベース名と同じ名前のファイルが作成されるので、データベース名には必ず「.sqlite3」と付けて、拡張子代わりにするのがオススメ。


実際には、接続して空っぽのままではデータベースファイルは作成されないので、テーブルを作る。

$ sqlite3 otameshidb.sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> create table test_table(id, name);
sqlite> .quit

$ file otameshidb.sqlite3
otameshidb.sqlite3: SQLite database (Version 3)

データベースの削除は、このファイルを削除するだけでよい。

$ rm otameshidb.sqlite3

5. バックアップ/リストア

データベースの実体はたった1つのファイルなので、バックアップはこのファイルをコピーすればよい。

$ cp otameshidb.sqlite3 otameshidb.sqlite3.backup

リストアはこのファイルを戻すだけ、超簡単。

(.backup/.restoreや.dump/.readという方法もある。)


以上

これだけ知っておけば、さっそく今からSQLiteが安心して使えるよ! Enjoy!


参考サイト

SQLite入門