Sqlite3

提供: Astarisk Works Wiki

軽量データベース。

1DB1ファイルで取り扱いも簡単。サーバとして動作するのではなく、ソフトウェアに組み込まれて使われる。

Linux、Windowsで動く。データファイルもプラットフォームに依存しないのでLinuxで作ったファイルをWindowsで操作することもでき便利。

組み込み機器にも組み込み例は多い。 AndroidFirefox等に組み込み例がある。

ダウンロードや詳しい情報はこちら->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分

情報源

SQLite ドキュメント - Third impact

個人用ツール