SQLite

 
 SQLite は軽量なリレーショナルデータベースです。  FreeBSD では明示的にインストールしなくとも何かの ports をいれたときに依存するものとしてインストールされていたりします。  マルチプラットフォームですので Windows版もあります。  ここでは、FreeBSD 上のコマンドプロンプトで説明していきます。
1. ダウンロード
2. データベース・テーブルの作成

1. ダウンロード

 ダウンロードサイトは

 になります。

2. データベース・テーブルの作成

 ちょっと必要があったので都道府県コードのテーブルを作ってみます。

> sqlite3 prefecture.db
sqlite> create table prefecture(id text primary key, name text);
sqlite> .exit
 これで、カレントディレクトリに prefecture.db というデータベースが作成されます。  拡張子はなんでもよいらしいのですが、まあ「.db」がわかりやすいかな?と。  データ型は
意味
NULLNULL値
INTEGER整数値
REAL浮動小数点値
TEXTテキスト (文字コードは UTF-8, UTF-16BE or UTF-16-LEのいずれかのみ)
BLOBBinary Large OBject
 とこれだけだそうで。初めて見たときは「え?こんだけ?」と思いましたが、必要最小限に限定すればこれだけになるのだなと納得。  sqlite に対するコマンドは先頭に .(ドット)をつけることに気をつければ、SQL は普通に行末に ;(セミコロン)をつければよいということで、基本的な SQL はほとんど使えるようです。  データ入力で、コマンド上で漢字が使えなかったので、prefecture.txt というファイルを作成して

01	北海道
02	青森県

	以下略

ってな感じでデータを作りました。コードと県名の間は [tab] です。

> sqlite3 prefecture.db
sqlite> .import ./prefecture.txt prefecture
./prefecture.txt:1: expected 2 columns but found 1 - filling the rest with NULL
 あれまエラーだ。カラム区切り文字のデフォルトが [tab] でないんですな。  .show というコマンドで環境が見られるので

sqlite> .show
        echo: off
         eqp: off
  explain: off
     headers: off
        mode: list
   nullvalue: ""
      output: stdout
colseparator: "|"
rowseparator: "\n"
       stats: off
       width:
 .separator で区切り文字を変更

sqlite> .separator \t
 再度

sqlite> .import ./prefecture.txt prefecture
 今度はうまくいったようで、

sqlite> select * from prefecture;
01      北海道
02      青森県

	以下略

 ってな感じでつくったのが

 これです。需要はなさそうに思いますが、よろしければどうぞ。