ろばの穴・別館 Annex

アップル製品への熱い想い & PCガジェット全般のメモ

SQLiteのDBファイルを編集できるGUIツール for OSX

2012/5/2追記

最新のSQLite ManagerではOpenできるデフォルトのSQLiteデータベースの拡張子が「.sqlite」になっていました。「.db」も開けるようにするには、左から2番目のこのアイコンをクリックします。設定パネルが表示されますので、「メイン」の「既定の拡張子」を「sqlite」から「db」に変更します。

なんとなく開くときに「すべてのファイル」を選択しても「.db」ファイルがグレーアウトしていたので、私の環境だけかもしれませんが、同じ不具合が起きた方はこの方法で対処できます。

お手軽なデータベース SQLite

SQLite というお手軽なDB管理システムがあります。

本家はこちら。
SQLite Home Page

型も4つしかないし、すごくユルくてアバウトで、Oracle などを使っていた人にはいい加減感?があるかもしれませんが、ちょっとしたデータの整理には軽くて種々の言語からも使えて、かなりお手軽です。プログラムがちょっとしたデータを保存するためのローカルなDBとして使えます。

普段何気なく使っているアプリのデータ管理も SQLite を使っているものが多いようです。たとえば Thunderbird とか FireFox も。iPhone アプリで使われている Core Data も SQLite を使っています。

SQLite の管理ツール

この SQLite のDBファイルをプログラミング言語からではなく、直接操作したい場合があります。テストデータを作ったり、データそのものや作ったSQL文を確認したり、という場合です。Mac では sqlite3 をインストールすると("sudo port install sqlite3" などとして)コマンドラインで操作できるシェル*1が使えるようになりますが、GUIのツールがあればもっとラクです。

本家のサイトにもSQLite CVSTracというページがあり、たくさんのツールがプラットフォームや機能も含めて詳細に紹介されています。Mac-OSX でサポートされているフリーやお試し版のあるものをほぼ全て試したのですがどれもいまいちで、結局自分的に使えそうなのは以下の3つ(実質2つ)になりました。

ちなみに「使えそう」というのは以下のポイントで評価しました。

  • 安定している
  • 日本語が使える(文字コードに関わらず、文字化けしないこと)
  • CSVファイルからテーブル作成、データ作成ができること
  • SQL文を読み込み、書き出しできる
  • データの編集ができる

これが1つでもできないものはそれ以上評価しませんでした。テーブルのコピーもできれば尚ベターです。

これから使おうと思った3つ

SQLite Manager :: Add-ons for Thunderbird
SQLite Manager :: Add-ons for Firefox

  • この2つは、それぞれ Thunderbird.app, FireFox.app のアドオンで作者は同じ人
  • それぞれのアプリの専用DBのメンテナンスにも使える。
  • 日本語はUTF-8のみ表示やテキストデータの入出力が可能。
  • テキストデータの入出力は、CSV(タブデリミタなども可能)、SQLXMLもサポートしている。
  • 見た目も素敵、操作性もいい。


SQLite Database Browser

  • 大御所。いわゆる「おまんじゅう」。
  • 単体アプリ。
  • SQLite Manager と同様日本語はUTF-8しか使えない。
  • テキストデータの入出力は、CSVのほかに SQL もサポートしている。
  • 見た目がレガシー。操作性もちょっとね…。

選択からはずれたけどよかったもの

Menial » Base

  • マスターテーブルが参照編集できるけど 10£。試用はできます。

Lita - SQLite Administration Tool | David Deraedt


結果的に選んだものはマルチプラット対応でした。ほかの環境の方はもっと使い勝手のよいツールがあるかもしれませんが。


ちなみにざっと調べたものは以下の通り。不安定なものは環境によるのかもしれませんので、運が悪かったと思ってきっぱり捨てました。あと言語ライブラリがいるものとか、環境構築が面倒なのとかはパス。これらも、すでにRubyPHPでプログラミングしている人には親和性がいいかもしれません。

■ SQLiteStudio.app-2.0.3 ,-2.0.2
 addDBで落ちる

■ SQLiteManager-1.2.4
 PHPで動くブラウザベース

■ MikeTs_SQLite_Management_app_OSX 2007
 テーブルを作っておかないとインポートできない
 インポートファイルはタブデリミタでないとだめ
 日本語は表示OK

■ DB_Sqlite_Tools-0.1.7
 PHPのライブラリ
 sudo pear install DB_Sqlite_Tools でインストール

■ Navicat Premium.app
 DBのオープン作成で落ちる(きれいで期待してたのになぁ)
 2011/1/21追記*2

■ LiteMan
 ダウンロードできず …

■ Sqliteman1.2.2
 Mac 対応は 1.3.xから


以上、備忘録でした。

*1:本家にマニュアルありCommand Line Shell For SQLite 日本語で気に入っているのがsqlite3の基本操作まとめ:てりぶろ:So-netブログ

*2:Mac側の環境をちょっと変えたので、もう一度同じバージョン9.0.12を試してみた。既存のDBはオープンできた。グリッドビュー、フォームニューで閲覧編集が可能。Nullかどうかも目視できる。エクスポートで各種コードをサポートしている(ShiftJisはなぜかうまくいかなかったが)。多機能なので業務に使う人にはいいかも。ただし、非常に高価。試用期間は30日。