1. 概要
2. データベース・テーブル作成
3. コマンド
1. 概要
ここ、他に書きようもないので、基本的な操作と題してみましたが、全然正攻法なやり方ではなく、単に思いついたことをやってみただけです。
本ページは、下記のサイトを参考にさせていただきました。
「SQLite3 まとめ 」
2. データベース・テーブル作成
ちょっと必要があったので「都道府県コード 」のテーブルを作ってみます。
ここでは、実際に行った、「FreeBSD」上のコマンドプロンプトで説明していきます。
$ sqlite3 prefecture.db
sqlite> create table prefecture(id text primary key, name text);
sqlite> .exit
これで、カレントディレクトリに「prefecture.db」というデータベースが作成されます。
拡張子はなんでもよいらしいのですが、まあ「.db」がわかりやすいかな?と。
データ型は
型 意味
NULL NULL値
INTEGER 整数値
REAL 浮動小数点値
TEXT テキスト (文字コードは UTF-8, UTF-16BE or UTF-16-LEのいずれかのみ)
BLOB Binary 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 青森県
以下略
ってな感じでつくったのが
「prefecture.db 」
これです。
需要はなさそうに思いますが、よろしければどうぞ。
3. コマンド
2021年10月7日、久々に、「SQLite」を使ってみたら、そもそも抜け方もわからない・・・。
最低限のメモは、残しておかなきゃね。
わたしの使う、コマンド一覧。
コマンド 機能 備考
.exit 終了
.help 「HELP」を表示
.read パス/ファイル名 ファイルに記述している「SQL」を実行
.show 環境を表示
.schema テーブル名 構造を表示(テーブル名は、省略可能で、省略すると全テーブル対象)
.tables テーブル一覧表示
そもそも、なんで久々にやってみたかちゅうと、上記で作成したものを、「Windows」で読めるか、試してみたんですが・・・ちゃんと読めましたね。