SQLite3 on windows

rails2.0からデフォルトのデータベースがSQLiteに変わったので、さわりだけでも触っておこうと思い、インストールからテーブル作成までやってみました。windows版で試したのでmac版は別エントリーで。

触る前のSQLiteのイメージ

  • 軽量dbms=あまり使えないdbms
  • バイナリなら複雑なインストールはなし
  • SQL92に準拠してるけど、未実装も一杯
  • SQL2000は未対応

はこんな感じ。

では実際にインストールから

1.SQLiteのインストール
SQLiteからWindows Binaryをダウンロード。
インストールは解凍するだけ、PATHの通っている所へ置けばインストール完了。

2.データベースの作成
SQLiteは特にサービスとかがあるわけではなく、ファイルベース(Accessとかdb4oと一緒な感じ)なのでそのままDBをコマンドで指定すると作成されます。

sqlite3 example.db

3.テーブルの作成
SQL92に準拠なので普通にDDLを発行すればOK

create table example(
id int primary key,
name varchar(255)
);

これで作成されます。

テーブルのカラムを見る

.schema example

これがなんか受け付けない。schemaの意味は確かにそう(XMLのschemaと同じ)なんだけど・・・

あとは大体一緒でしょう。

で、印象。

  • dbへの接続でファイル指定すると言うことは接続定義が面倒臭そう。

  • 複数人ではどう接続するのか。(accessみたいにLockされる?)

  • インストールは簡単。ちょっとした内容をdbで見たい・管理したい場合にはあり?=>だから軽量?

  • ドキュメントが英語しかみあたらない。

  • import、exportは簡単そう

こんな所に書いてあった

SQLiteの特徴をあげると次のようになります。

  • SQL92をサポート

  • データベースは,単一のファイルに格納

  • トランザクション機能をサポートし,データの完全性を保護

  • データベース・ファイルの構成はバイトオーダーに依存しないため,ファイル・コピーでマシンも移動可能

  • 消費メモリーが少ない

  • ユーザーという概念はない

  • 対応するデータ型はINTEGER型,REAL型,TEXT型,BLOB型

  • パブリックドメインとして提供されており,無償であるだけでなく,ソースコードの改変や第三者への再配布も自由に行うことが可能

  • 対応する文字コードはUTF8,UCS2(UTF16)