Sqlite3
提供: Astarisk Works Wiki
軽量データベース。
1DB1ファイルで取り扱いも簡単。サーバとして動作するのではなく、ソフトウェアに組み込まれて使われる。
Linux、Windowsで動く。データファイルもプラットフォームに依存しないのでLinuxで作ったファイルをWindowsで操作することもでき便利。
組み込み機器にも組み込み例は多い。 AndroidやFirefox等に組み込み例がある。
ダウンロードや詳しい情報はこちら->SQLite Home Page
目次 |
インストール
Linuxだとyumやapt-getで簡単にインストールできる。
WindowsだとバイナリをダウンロードしてPathを通しておけばコマンドプロンプトから使える
GUI アプリケーション
コマンドによる操作が基本だが、やはりGUIがあった方がデータベース全体の構成をつかみやすく便利。
- SQLiteStudio
- タンドアローンアプリケーションならSQLiteStudioが使いやすい。
- 大きなデータベースを開こうとすると他のアプリなら固まってしまうが、このソフトはそうなりにくい。
- マルチプラットフォームなのでLinuxでもWindowsでも利用可能。
- sqlite-manager
- Firefoxの拡張で大きなデータベースファイルもまあ、使える。
- 使うのにFirefoxを立ち上げる必要があるのと、更新が頻繁なのがうざいのが玉に瑕。
コマンドラインインターフェース
SqliteにはコマンドラインでデータにアクセスできるCUIが組み込まれている。
- DBへの接続
>sqlite3 データベースファイル
- 出力の区切り文字の変更
- デフォルトでは区切り文字は|となっている。それを変更するには.separatorコマンドを使う
sqlite3>.separator ,
- 外部ファイルに出力する
- 通常、selectの結果は標準出力に出力されるが、ファイルに出力したい場合には.outputコマンドを使う
sqlite3>.output 出力先ファイル名
コマンド
外部ファイルを読み込む
sqlite> .read <ファイル名>
テーブルの一覧を取得する
sqlite> select name from sqlite_master ;
様々なプログラミング言語からSqlite3を使う
RubyでSqlite3 -- Sqlite3-ruby
RubyでSqlite3を扱うためのライブラリ。
インストール
先にapt-getやyumでlibsqlite3-dev等開発用のパッケージをインストールしておく。 その後、rubygemsでインストールする。
> gem install sqlite3-ruby
トランザクションを扱う
Sqlite3::tranzaction、Sqlite3::commit、Sqlite3::rollbackを使ってトランザクションを制御する。
大量のinsertを行う場合はトランザクションを使ってまとめてコミットする方がかなり速い。
約4.5万レコードのinsertをした場合の結果の例。
#トランザクションを使った場合 Start:Fri Dec 12 10:39:16 +0900 2008 End:Fri Dec 12 10:44:19 +0900 2008 ->5分 #トランザクションを使わなかった場合 Start:Fri Dec 12 10:55:09 +0900 2008 End:Fri Dec 12 11:07:10 +0900 2008 ->12分