[SQLite]起動時に読み込まれる設定ファイル(~/.sqliterc)おすすめ設定

sqlite
こんにちは。
BIG1等を当てたいサラリーマンです。

なかなかBIG1等が当たらないので、今回はSQLite起動時の読み込みファイルおすすめ設定を紹介したいと思います。

目次

SQLiteとは

エスキューライトと読みます。
無償で利用できる軽量のデータベース(RDBMS)です。
主に、アプリケーションに組み込んで利用される事が多いデータベースです。
単一のファイルにデータを格納するタイプです。
RDBMSだと一般的には、OracleやMySQLなどが挙げられますが、単一ファイルとして扱える点でMicrosoft Accessが近いでしょか。
Accessの様にフォームやレポートなどの機能はありませんが、バックアップもファイルをコピーするだけなので小中規模のシステムなら非常に扱いやすいDBシステムです。

Mac OSXには標準でプリインストールされていますのでターミナルから起動すれば直ぐに使えます。

C言語で開発されているのでWindowsマシンでもインストーラ不要で任意のディレクトリに展開すれば使えます。

今回は、起動時の読み込みファイルの設定に特化した記事なので、全般的な事は別の機会に記事にまとめたいと思います。

ちなみに僕は、iOSアプリ開発やBIG購入や結果の集計にもSQLiteを採用しています。

起動時に読み込まれる設定ファイル(~/.sqliterc)とは

.sqlitercという名前のプレーンファイルはSQLiteが起動するタイミングで読み込まれるシステムファイルです。

SQLiteには公式に提供されているGUIツールはありません。
サードパーティー製もありますが僕はイマイチだと思います。

基本的にはコマンドツールを使っている方が大半だと思います。

SQLiteはディフォルトの設定では、SELECTした結果が見づらくて不満な点が幾つかあります。

この設定はドットコマンドと呼ばれるSQLite独自のコマンドで変更可能なのですが設定の保存はできません。
起動するたびにコマンドを実行しなければなりません。

そんな作業を自動化できる非常に便利なファイルです。

おすすめの設定

ディフォルト設定で不満な点は以下の項目です。

  • 列の間隔をパディングしてくれない。
  • フィールド名を表示してくれない。
  • NULL値をNULLと表示してくれない。

BIGのデータベースで実際の結果を表示させてみましょう。

ディフォルトの場合

sqlite20150730-1

設定を施した場合

sqlite20150730-2

わかりやすいレコードをSELECTしています。

一目瞭然ですね。
日本語(2バイト文字)が入るとフィールド名とカラムの左揃えが崩れてしまいますが、すごく良くなりました。
では、さっそく作業をしていきます。

ドットファイルは隠しファイルになりますのでターミナルからコマンドで操作してください。

ドットファイルを作成する

touch ~/.sqliterc
vi ~/.sqliterc
.mode column
.width 0
.headers on
.timer on
.nullvalue NULL

ドットコマンドの説明

.mode column カラム毎に左揃えを行って表示させる
.width 0 カラム毎の幅を設定しない(.mode columnの場合に有効になる)
.headers on ヘッダーとしてカラム名を表示
.timer on CPUの使用タイムを表示
.nullvalue NULL 値がNULLの場合に表示する文字列を指定

Dropboxを使って複数マシン間で共有する

僕は2台のMacに開発環境を構築して、どちらでも同じ開発ができるようにしています。
そんな時はこの設定ファイルをDropboxで同期させると、さらに便利になります。

Dropboxに、このファイルを格納しシンボリックリンクをはります。
隠しファイルではない方が都合がいいのでドットは除きます。
以下のコマンドを実行します。

cd ~/ 
mkdir -p ~/Dropbox/Applications/SQLite 
cp .sqliterc .sqliterc_backup 
mv .sqliterc ~/Dropbox/Applications/SQLite/sqliterc 
rm -f .sqliterc 
ln -s ~/Dropbox/Applications/SQLite/sqliterc .sqliterc 
rm –f .sqliterc_backup

2台目のマシンでは1, 6行目のコマンドだけ実行すればOKです。

まとめ

今回は、起動時に読み込まれる設定ファイルに焦点を当てて記事にしました。
一手間で毎回の煩わしさから解放されました。おすすめです。

SQLiteは、他のRDBMSとは違ったクセがあります。
またの機会では、その辺りも記事にしたいと思います。

スポンサーリンク
レクタングル(大)
レクタングル(大)

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>