データベース - SQLite - 基本的な操作

 クラウディア
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」で読めるか、試してみたんですが・・・ちゃんと読めましたね。

ハイスピードプラン